Delayed_Job - обрабатывать_асинхронно с ActionMailer?

Итак, я использую отложенные задания и пытаюсь понять, как получить все мои рассылки должны быть отложены. Прямо сейчас я добавил handle_asynchronously во все мои методы почтовой программы действий ... но я не думаю, что это сработает.

def first_notification(time)
  @time = time
  mail :to => time.person.email,
       :from => "email@example.com",
       :subject => "#{time.person.name} wants to say hi"
end
handle_asynchronously :advisor_first_notification, :priority => 20

Я не думаю, что это сработает, потому что потому что я называю это так:

UserMailer.first_notification(@time).deliver

Итак, как он будет обрабатывать . доставить часть этого? Прямо сейчас у меня исключение.

EXCEPTION: #<ArgumentError: wrong number of arguments (1 for 0)>

Это заставляет меня чувствовать, что что-то не так с аспектом доставки.

Я бы предпочел не иметь отдельный файл вакансий для каждого письма (так как у меня их много), Итак, как правильно с этим справиться?

Единственный другой вариант, который я могу придумать, - это инкапсулировать вызовы в метод в моих моделях и сделать так, чтобы они имели handle_asynchronously - таким образом они могут вызывать все сразу.

6
задан RyanJM 22 May 2011 в 04:37
поделиться