我有一个延迟的作业运行,我希望在完成后保存运行时,工作人员将运行时记录到这样的日志......
XXXXXJob completed after 1.6372
我想知道你如何从延迟的工作类中访问这个统计数据?
我已经尝试了self.runtime
但是这会引发错误。
干杯。
答案 0 :(得分:1)
我担心delayed_job
gem不提供用于访问该统计信息的API。看起来here是他们计算运行时间的地方,那就是那里发生的事情:
runtime = Benchmark.realtime do
invoke_job
destroy
end
logger.info "* [JOB] #{name} completed after %.4f" % runtime
所以runtime
是使用Benchmark
模块计算并记录的,但它没有存储在任何地方供以后使用。
尽管如此,您仍然可以通过使用类似的Benchmark.realtime
调用或类似的方式包装其逻辑来自己计算作业的运行时间。