我使用delayed_job w rails 3 来延迟user_mailers,例如:
UserMailer.delay.email_digest(from,email,subject,html,text)
如何添加优先级?默认情况下,所有延迟的作业都设置为优先级 0,对于这个邮件程序,我想用 1 的优先级来降低它的重要性。
可能的?谢谢
我使用delayed_job w rails 3 来延迟user_mailers,例如:
UserMailer.delay.email_digest(from,email,subject,html,text)
如何添加优先级?默认情况下,所有延迟的作业都设置为优先级 0,对于这个邮件程序,我想用 1 的优先级来降低它的重要性。
可能的?谢谢
诸如优先级或使用哪个队列等选项是延迟方法的选项,例如
UserMailer.delay(:priority => 2).email_digest(...)
您甚至可以设置队列名称,以便您可以根据使用的任务对其进行分组,
UserMailer.delay(:queue=> "Mailers",:priority=> 1).email_digest(from,email,subject,html,text)
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)
这对我有用