UPDATE: C'è stata una patch per questo problema: https://github.com/collectiveidea/delayed_job/commit/023444424166ba2ce011bfe2d47954e79edf6798NoMethodError con delayed_job (gemma collectiveidea)
UPDATE 2: Per chiunque incorrere in questo problema in Heroku particolare, ho trovato il downgrade a Rake 0.8. 7 e utilizza la versione 2.1 del lavoro ritardato, mentre il lavoro ritardato v3 non lo fa (anche se con la patch funziona su locale). Questo è nello stack Bamboo-mri-1.9.2.
Sto provando a implementare delayed_job su un'app rails 3.1.0 localmente. Ho eseguito la migrazione e installato i file di gemme:
gem 'delayed_job'
gem 'delayed_job_active_record'
In seguito la documentazione sul github collectiveidea (https://github.com/collectiveidea/delayed_job). Sto facendo la chiamata ritardo dal mio regolatore come segue:
EventMailer.delay.event_message_email(current_user, @event_message)
Questo fa sì che il compito da aggiungere alla tabella di lavoro, ma quando ho eseguito lavori di rake: il lavoro viene registrato il seguente errore:
Class#event_message_email failed with NoMethodError: undefined method `event_message_email' for Class:Class - 6 failed attempts
Ho esaminato le altre domande di errore NoMethod di delayed_job su SO, ma nessuna risolve questo errore specifico o ne fornisce una soluzione. La pagina collettiva dice che questo formato senza la chiamata al metodo di consegna è un trucco per come sono impostati i mailer di Rails 3, quindi mi chiedo se forse questa documentazione potrebbe essere obsoleta e se c'è un nuovo modo di chiamare i metodi mailer?
Aggiornamento: anche chiamare il metodo mailer senza ritardi funziona bene, e lo sto eseguendo sul server di rail predefinito in modo che il problema con Thin menzionato nella FAQ di collective non si applica. Grazie
Quando è l'ultima volta che è stato riavviato il task 'rake jobs: work'? Ha bisogno di essere riavviato dopo ogni cambio di codice. – iwasrobbed
EventMailer.event_message_email (current_user, @event_message) .delay.deliver funziona? – Unixmonkey
@iWasRobbed: sì, ho provato che – tks