6

我使用delayed_job w rails 3 来延迟user_mailers,例如:

 UserMailer.delay.email_digest(from,email,subject,html,text)

如何添加优先级?默认情况下,所有延迟的作业都设置为优先级 0,对于这个邮件程序,我想用 1 的优先级来降低它的重要性。

可能的?谢谢

4

3 回答 3

10

诸如优先级或使用哪个队列等选项是延迟方法的选项,例如

UserMailer.delay(:priority => 2).email_digest(...)
于 2012-09-11T20:19:41.053 回答
0

您甚至可以设置队列名称,以便您可以根据使用的任务对其进行分组,

UserMailer.delay(:queue=> "Mailers",:priority=>  1).email_digest(from,email,subject,html,text)
于 2015-03-25T11:50:17.687 回答
0

Rails 5 应用程序/mailers/user_mailer.rb

class UserMailer < ApplicationMailer

  def email_digest(email)
    @email = email
    mail(to: @email, subject: 'Hello...')
  end

end

UserMailer.email_digest("email@domain.com").deliver_later(:priority => 75)

这对我有用

于 2021-07-28T16:54:47.910 回答