0

すべてのジョブの開始時間と時間を取得する方法はありますか? 私はdelayed_jobを使用しています。

4

2 に答える 2

1

設定によっては、ジョブ自体にジョブの開始時刻と終了時刻を記録するアクションを含めることができます。

class SomeJob < Struct.new(:param1, :param2)
  def perform
    start_time = Time.now

    ## Do Something

    SomeModel.find(id).update_parameters({:start_time => start_time, :end_time => Time.now})
  end
end

リポジトリをフォークするよりも簡単かもしれません。私はこれらのジョブをすべて保持するという考えに夢中ではありません。負荷に応じて、時間の経過とともにキューが遅くなります。

于 2010-06-22T17:06:21.080 に答える
0

delayed_job には、ジョブの開始時刻、期間、または終了時刻を追跡する機能はありません。また、デフォルトでは、成功するとテーブル エントリが削除されます。

この情報を追跡および記録するには、github バージョンをフォークしてパッチを作成するか、外部メソッド ( http://helderribeiro.net/?p=87は monit を使用) を使用してこのデータを追跡する必要があります (これもフォークされたバージョン)。

于 2010-06-22T16:19:12.983 に答える