GÜNCELLEME: Bu soruna yönelik bir yama olmuş: https://github.com/collectiveidea/delayed_job/commit/023444424166ba2ce011bfe2d47954e79edf6798NoMethodError
GÜNCELLEME 2: herkes özellikle Heroku bu sorunla çalışan için, ben 0,8 Rake sürümüne indirmek buldum. 7 ve Gecikmeli İş sürümü 2.1.4'ü kullanırken gecikmeli iş v3'ü yapmaz (ancak yamada yerel olarak çalışır). Bu Bamboo-mri-1.9.2 yığınında.
Yerel olarak, bir 3.1.0 uygulamasında bir rayda delayed_job uygulamasını deniyorum. Ben göçü koştu ve mücevher dosyaları yüklü: collectiveidea github (https://github.com/collectiveidea/delayed_job) belgelere ardından
gem 'delayed_job'
gem 'delayed_job_active_record'
. aşağıdaki gibi benim denetleyicisinden gecikme çağrısı yapıyorum:
EventMailer.delay.event_message_email(current_user, @event_message)
Bu görevi neden iş tabloya eklenecek ama tırmık işleri çalıştırdığınızda:
Class#event_message_email failed with NoMethodError: undefined method `event_message_email' for Class:Class - 6 failed attempts
: çalışmak aşağıdaki hata günlükleri
SO üzerinde diğer delayed_job NoMethod hata sorularına baktım ama hiçbiri bu özel hatayı ele almıyor ya da buna bir çözüm sunmuyor. Collectiveidea sayfası teslim yöntemi çağrı olmadan bu biçimin Rails 3 postacıların nasıl kurulduğuna ilişkin bir saldırı olduğunu, bu yüzden belki de bu belgelerin bazı modası geçmiş olup olmadığını ve postacı yöntemlerini aramak için yeni bir yol olup olmadığını merak ediyorum bahseder?
Güncelleme: Ayrıca mailler yöntemini gecikme olmaksızın çağırmak gayet iyi çalışıyor ve varsayılan raylar sunucusunda çalıştırıyorum, dolayısıyla Collectiveidea faq'de belirtilen Thin ile ilgili sorun uygulanmıyor. Teşekkürler
En son ne zaman 'komisyon işleri: çalışma' görevini yeniden başlattınız? Her kod değişikliğinden sonra yeniden başlatılması gerekiyor. – iwasrobbed
EventMailer.event_message_email (current_user, @event_message) .delay.deliver çalışır mı? – Unixmonkey
@iWasRobbed: Evet, bu işe yaramadı – tks