使用delayed_job获取每个作业的开始和结束时间

时间:2010-06-22 14:27:40

标签: ruby-on-rails ruby delayed-job

有什么方法可以为我的每一份工作取得开始和时间。我正在使用delayed_job。

2 个答案:

答案 0 :(得分: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

可能比分配存储库更容易,我并不是想保留所有这些工作的想法,它会随着时间的推移减慢队列的速度,具体取决于负载。

答案 1 :(得分:0)

delayed_job无法跟踪作业的开始时间,持续时间或结束时间。它也默认在成功时删除表项。

您必须将github版本分叉并创建一个补丁来跟踪和记录此信息,或者使用外部方法(http://helderribeiro.net/?p=87使用monit)来跟踪此数据(再次使用分叉版本)。 / p>