16

遅延ジョブが実行中かどうかを表示する必要があるステータス ページを設計しています。コード内でそれを見つける方法を教えてください。

Rails 3.0.20、ruby 1.8.7 (2011-06-30 パッチレベル 352)、およびdelayed_job 3.0.4 を使用しています

4

6 に答える 6

14

使用できます

RAILS_ENV=production script/delayed_job status 

本番モードでチェックしている場合

于 2014-04-14T11:54:14.567 に答える
4

delayed_job daemon現在のところ、が常に実行されていることを確認する最善の方法はinitializer、デーモンが実行されているかどうかを確認する を Rails アプリケーションに追加することです。実行されていない場合、 は をinitializer開始しdaemonます。それ以外の場合は、そのままにしておきます。

したがって、問題は、 がDelayed_Job daemonスクリプト内から実行されていることをどのように検出するかということです。

簡単な方法 -

デーモンの存在を確認しますPID file(File.exist? ...)。そこにある場合は、実行中であると想定し、そうでない場合は起動します。

于 2013-02-14T08:40:44.723 に答える
2

ジョブのステータスなどを確認するには、キューに入れられたすべてのジョブを登録するdelayed_job_web gemを使用できます。そして、それが常に実行されていることを確認するには、monit をインストールします。レールキャストはこちら。delayed_job の monit を構成する方法の詳細は次のとおりです

于 2013-02-14T09:23:26.353 に答える