我花了大約3個小時試圖讓一個簡單的delayed_job
執行沒有成功。我有這個極其簡單的工作:Rails/delayed_job只是...不工作
class Foo
def foo
`echo foo >> /tmp/mrsmee`
end
end
我入隊它在Rails的動作,像這樣:
Foo.new.delay.foo()
我運行任務處理器,像這樣:
$ script/delayed_job run
我看到一堆這樣的輸出日誌,
2013-05-13T15:21:12-0700: [Worker(delayed_job host:asha.local pid:73263)] 1 jobs processed at 35.6405 j/s, 0 failed ...
和條目在delayed_backend_mongoid_jobs
這樣,
{ "_id" : ObjectId("51916452005056107900001a"), "priority" : 0, "attempts" : 0, "queue" : null, "handler" : "--- !ruby/object:Delayed::PerformableMethod\nobject: !ruby/object:Foo {}\nmethod_name: :foo\nargs: []\n", "run_at" : ISODate("2013-05-13T22:08:18.560Z"), "updated_at" : ISODate("2013-05-13T22:08:18.560Z"), "created_at" : ISODate("2013-05-13T22:08:18.560Z") }
這麼清楚的工作是正在排隊,處理和出隊。太糟糕的測試輸出文件,/tmp/mrsmee
,永遠不會得到任何寫入它。我處於全面虧損狀態。爲什麼不是delayed_job
實際上運行延遲工作,或至少告訴我是什麼阻止它這樣做?
我無法回答你的問題,但我在幾天內有延遲工作寶石類似的問題。最後我和rufus-scheduler一起去了,不知道你的要求是否允許。 – juanpastas 2013-05-13 23:18:29