Я успешно запустил resque на стеке кедра heroku и установил интерфейс на рельсах.
когда запускаю рабочий, все отлично работает. Рабочий обрабатывает работу. Но когда я убиваю работника, Resque все еще думает, что работник доступен. Когда я запускаю другого работника, то думаю, что есть 2 работника, но на самом деле работает только один.
Я также замечаю здесь форму http://devcenter.heroku.com/articles/ps, что героку отправляет SIGTERM при убийстве рабочего и, если это не прекращается, то отправляет SIGKILL.
вот мои рабочие журналы
2011-08-11T02:32:45+00:00 heroku[worker.1]: Starting process with command `bundle exec rake resque:work QUEUE=*`
2011-08-11T02:32:46+00:00 heroku[worker.1]: State changed from starting to up
2011-08-11T02:33:58+00:00 heroku[worker.1]: State changed from up to stopping
2011-08-11T02:34:00+00:00 heroku[worker.1]: Stopping process with SIGTERM
2011-08-11T02:34:09+00:00 heroku[worker.1]: Error R12 (Exit timeout) -> Process failed to exit within 10 seconds of SIGTERM
2011-08-11T02:34:09+00:00 heroku[worker.1]: Stopping process with SIGKILL
2011-08-11T02:34:11+00:00 heroku[worker.1]: Process exited
Я вижу, что моему процессу требуется более 10 секунд для завершения. Это как-то связано с тем, что я загружаю рельсы в рабочую задачу?
это мое задание по рейку lib/tasks/resque.rake
require "resque/tasks"
task "resque:setup" => :environment