herokuの杉のスタックにresqueを実行し、インターフェイスをレールにマウントしました。ヘロクの杉のスタックを再焼成する作業員が終了した後に作業員の数がまだ残っています
私が作業を開始すると、すべてうまく動作します。ワーカーはジョブを処理します。しかし、私は労働者を殺すと、Resqueはまだ労働者が利用可能だと思っています。私が別の労働者を始めたとき、それは2人の労働者がいると思うが、実際には1人しか走っていない。
また、こちらのフォームには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秒、より多くを取ることがわかります。これは私が作業者の仕事にレール環境をロードするので何かする必要がありますか?
これは私が問題を見つけた私のrakeタスクlib/tasks/resque.rake
require "resque/tasks"
task "resque:setup" => :environment
あなたもからクリーンアップすることができますredisに接続し、.del( 'workers')を実行することでコンソール – Bob