Итак, у меня есть 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
, он сказал, что у меня работают два рабочих, и мои задания завершаются.
Мой вопрос: почему это произошло? Нужно ли мне запускать эту задачу rake каждый раз, когда я нажимаю на героку? Есть ли способ автоматизировать это? Кроме того, хотя у меня работает два воркера, похоже, работает только один. Есть ли способ вернуться к одному рабочему?