Belirli bir Gecikmeli :: İşin konsolda çalışmasını nasıl söylersiniz?


96

Bazı nedenlerden dolayı, Delayed :: Job's sıraya girmeye karar verdi, ancak birkaç kez yeniden başlatmama rağmen hiçbir şeyi çalıştırmamaya karar verdi, hatta -9'u öldürüp yeniden başlattım. Herhangi bir iş yürütmeyecek.

/ Console'da belirli bir işi belirleyip çalışmasını söyleyebilir miyim?

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


Yanıtlar:


131

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

Delayed::Job.find(x).invoke_job

ancak yapılan işi yok etmek gibi başka şeyleri çalıştırmayacağını hatırlamalısınız. sadece işi / görevi çalıştırıyorum.


4
Cevabın yazarının notunu dikkatlice okuyun: " Yapılan işi yok etmek gibi başka şeyler çalıştırmaz" . Öyle söylüyorum çünkü okumadım ve deliriyordum. @ DavidTuite'in cevabını
fguillen

165

Bunu şu şekilde de yapabilirsiniz:

Delayed::Worker.new.run( Delayed::Job.find(x) ) 

26
bu en iyi cevaptır, bir işi bittikten sonra kaldırır. Teşekkürler
m4risU

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

@Mrt'nin yorumuna katılıyorum, doğru işi çalıştırdığınızdan emin olmalısınız
Jonny

Belirli bir kuyruğun birden fazla gecikmeli işini çalıştırmak istersem, bunu nasıl yapabilirim? lütfen yardım edin
Zia Qamar

Bunun yapmayacağı tek şey satırı kilitli olarak işaretlemektir.
phil

0

Heroku'da "sıkışmış" bir işim vardı heroku restartve işçinin / işin yeniden başlaması için koşmam gerekti .


Olumlu yorumunuz için teşekkürler ;-) Soran kişi - ya da bu soruya gelenler - Heroku'da sorun yaşıyor olabilir.
rassom
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.