Выполнение рейковых заданий для запуска Resque на Heroku. - PullRequest
4 голосов
/ 16 августа 2011

Итак, мне нужно настроить Resque и Redis на Heroku, и вот как выглядит мой resque.rake файл:

require 'resque/tasks'

task "resque:setup" => :environment do
  ENV['QUEUE'] = '*'
end

desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"

Я запустил heroku rake jobs:work и получил одного работника.Это сработало отлично.Мои фоновые задания были завершены.

Затем я внес некоторые изменения в свой код, подтолкнул к героку и все еще видел, что у меня работает один рабочий.Однако, пока задания добавлялись в очередь, работник не получал никаких заданий.Итак, я снова набрал heroku rake jobs:work, там говорилось, что у меня работают двое рабочих, и мои работы заканчиваются.

Мой вопрос: почему это произошло?Нужно ли мне запускать это грабельное задание каждый раз, когда я толкаю героя?Есть ли способ автоматизировать это?Кроме того, хотя у меня работает два рабочих, похоже, работает только один.Есть ли способ вернуться к одному работнику?

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

Вы должны использовать Procfile для повторного задания на герою http://devcenter.heroku.com/articles/procfile

Имейте в виду, что Procfile используется в новом стеке Heroku Cedar.

0 голосов
/ 17 августа 2011

Вам нужен только один работник для Resque.Вам нужно будет запустить heroku rake jobs:work или использовать Resque-Scheduler (cron или что-то для запуска этой задачи), чтобы автоматически запускать ваши задания.

...