我使用delay_job运行了一些后台作业,我想知道如何才能检索到该作业需要花费多长时间

信息显示在服务器上,但是我不知道如何保存它才能在控制器/视图中使用它

Delayed::Backend::ActiveRecord::Job Load (0.8ms)  SELECT "delayed_jobs".* FROM "delayed_jobs" WHERE ("delayed_jobs"."id" = 83) LIMIT 1
Completed 200 OK in 9ms (Views: 6.8ms | ActiveRecord: 0.8ms)
  AREL (0.4ms)  DELETE FROM "delayed_jobs" WHERE ("delayed_jobs"."id" = 83)

最佳答案

由于延迟作业是在完成时从数据库中删除的,因此最简单的方法是让作业本身在启动时在数据库中进行记录,然后在作业完成时在回调中设置完成时间。它不雅致,但易于在现有系统上实现。

10-02 23:05