ОБНОВЛЕНИЕ: для этой проблемы был исправлен: https://github.com/collectiveidea/delayed_job/commit/023444424166ba2ce011bfe2d47954e79edf6798
ОБНОВЛЕНИЕ 2: Для тех, кто работает в этой проблеме на Heroku специально, я нашел понижение до Rake 0.8.7 и использование Delayed Job версии 2.1.4 работает, в то время как замедленное задание v3 не (хотя с патчем он работает на местном уровне). Это находится в стеке Bamboo-mri-1.9.2.
Я пытаюсь реализовать delayed_job в приложении rails 3.1.0 локально. Я выполнил миграцию и установлены файлы gem:
gem 'delayed_job'
gem 'delayed_job_active_record'
Следуя документации по коллективу github (https://github.com/collectiveidea/delayed_job). Я вызываю вызов с моего контроллера следующим образом:
EventMailer.delay.event_message_email(current_user, @event_message)
Это приводит к добавлению задачи в таблицу заданий, но когда я запускаю rake-задания, выполните следующую ошибку:
Class#event_message_email failed with NoMethodError: undefined method `event_message_email' for Class:Class - 6 failed attempts
Я просмотрел другие проблемы с ошибкой delayed_job NoMethod на SO, но ни одна из них не адресует эту конкретную ошибку или не предоставляет ее решение. На странице collectidea упоминается, что этот формат без вызова метода доставки является взломом для того, как настроены почтовые программы Rails 3, поэтому мне интересно, возможно ли, что эта документация может быть устаревшей, и если есть новый способ вызова методов почтовой программы?
Обновление: также вызов метода mailer без задержек работает нормально, и я запускаю его на сервере по умолчанию rails, поэтому проблема с Thin, упомянутая в файле collectidea faq, не применяется. Благодаря