Я использую пример кода из delayed_job для отправки информационного бюллетеня:
class NewsletterJob < Struct.new(:subscribers)
def perform
subscribers.each { |subscriber| NewsletterMailer.newsletter(subscriber.id) }
end
end
Затем я устанавливаю задание здесь:
Delayed::Job.enqueue NewsletterJob.new(Subscriber.find(:all))
Если я не использую отложенную работу, почта отправляется, поэтому она работает. Если я использую отложенную работу напрямую, почта отправляется следующим образом:
NewsletterMailer.delay.newsletter(subscriber)
В таблице вакансий в базе данных есть следующий yaml:
--- !ruby/struct:NewsletterJob
subscribers:
- !ruby/ActiveRecord:Subscriber
attributes:
id: '54'
email: [email protected]
created_at: '2013-08-09 04:44:51.113258'
updated_at: '2013-08-09 08:26:05.934564'
token: quVI0dhxyyentB7TJ1IO6w
- !ruby/ActiveRecord:Subscriber
attributes:
id: '56'
email: [email protected]
created_at: '2013-08-11 09:29:22.000829'
updated_at: '2013-08-11 09:29:22.000829'
token: a-n-yijwi38_HvGFSmetmA
Я использую MockSMTP для получения электронной почты на моем локальном компьютере.
По какой-то причине, даже если кажется, что работы обрабатывают задание, электронные письма не отправляются.
Что-то не так с ямлом?
Любая помощь приветствуется, я нуб