5

いくつかの裏話:

昨夜、delayed_job ワーカーがイメージを処理するジョブを実行しているときに、サーバーのディスク容量が不足しました。

ワーカーを停止しようとすると、「終了しました」という応答が返されます。

RAILS_ENV=production script/delayed_job stop
Terminated

次に、次のコマンドを実行して、ワーカーが終了したことを確認します。

ps -ef | grep delayed_job
servername      4474  4274  0 02:37 pts/1    00:00:00 grep --color=auto delayed_job

今、私は新しい労働者を立ち上げようとしています。

RAILS_ENV=production script/delayed_job -n2 start
ERROR: there is already one or more instance(s) of the program running
ERROR: there is already one or more instance(s) of the program running

これは私が得ているエラーです。すべてのアクティブなワーカーを停止したように見えますが、新しいワーカーを開始できません。

これは私を混乱させたので、私は逃げました

RAILS_ENV=production script/delayed_job status
delayed_job: running [pid 0]
delayed_job: running [pid 0]

これは間違っているようです [pid 0]。ワーカーが破損しているようです。この問題を解決する方法を見つけたいと思っています。ありがとう!

Linux Ubuntu LTS 10.4 で実行しています。

編集: そこで、tmp/pids で見つけた 2 つのワーカー ファイルを削除して、ワーカーを開始および停止できるようにしました。ただし、tmp フォルダーに PID ファイルを生成する必要があるため、ワーカーは何も実行しません。

4

2 に答える 2