Rails 3.2.8,delayed_job(3.0.3),delayed_job_active_record(0.3.3)。使用WEBrick。delayed_job隨機消失的作業不執行它們
我有異步填充在啓動時高速緩存的初始化:
MyModel.delay.get_lots_of_records
MyModel.delay.get_some_other_records
MyOtherModel.delay.get_tons_of_records
MyOtherModel.delay.get_some_other_records
在開發環境中,能正常工作,由delayed_job的日誌和日誌高速緩存證明。
然而,在分期中,有時會有1或2個,有時甚至沒有這些工作被執行。通常至少執行一個,通常是同一個(但不總是)執行。如果我在啓動後查看delayed_jobs表,我會看到所有4作業被寫入,然後在2秒鐘後消失。
每推薦here,我有
# config/initializers/delayed_job_config.rb
Delayed::Worker.destroy_failed_jobs = false
但工作仍然沒有失敗或正在執行非常迅速刪除。
如果我在Delayed::PerformableMethod.perform
處插入斷點,我看到只有在作業實際執行時才調用該方法,所以問題在於此。但destroy
方法在perform
之後調用,所以我不確定發生了什麼。
我正在尋找故障排除建議或其他診斷操作。