2011-08-04 13 views
83

Herhangi bir nedenden dolayı, Gecikmeli :: İşler sıraya girmeye karar verdi, ancak birkaç kez yeniden başlatmış olsam bile, hiçbir şey için hile yapmamaya karar verdiler, hatta öldürdüler ve yeniden başlattılar. Hiçbir iş yapmayacak.Belirli bir Gecikmeli :: İş konsolunda çalışması için nasıl söylersiniz?

/Konsol içinde belirli bir iş belirtebilir ve çalışmasını söyleyebilir miyim?

Ör: .. Delayed::Job.find(x).run

+0

[Manuel Delayed_job İşi yeniden dene] olası yinelenen (http://stackoverflow.com/questions/3312054/manually-retry-job-in-delayed -job) – smathy

cevap

117

konsoldan belirli bir iş nasıl çalıştırılacağını yanıtlayan:

Delayed::Job.find(x).invoke_job

ancak o oldu iş yok gibi başka şeyler aday olmayacağını unutmamalıyız ya da benzeri. sadece işi/görevi yürütmek.

+2

Yanıtın yazarının notunu dikkatlice okuyunuz: _ "işin yapılmasını imha etmek gibi başka şeyler yapmayacaktır" _. Öyle dedim çünkü okumadım ve deliriyordum. [@ DavidTuite'ın cevabı] 'nı kontrol edin (http://stackoverflow.com/a/20146200/316700) – fguillen

133

Ayrıca böyle yapabilirsiniz:

Delayed::Worker.new.run(Delayed::Job.last) 
+0

Güzel! Bunun için teşekkürler! – Trip

+23

Bu en iyi cevaptır, bittikten sonra işi kaldırır. Teşekkürler – m4risU

+11

Gecikmeli :: Worker.new.run (Gecikmeli :: Job.find (id)) – mrt

İlgili konular