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.