【问题标题】:Delayed_Job, How to set a priority for a user_mailer.rb methodDelayed_Job,如何为 user_mailer.rb 方法设置优先级
【发布时间】:2012-09-04 19:30:06
【问题描述】:

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

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

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

可能吗?谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 delayed-job


    【解决方案1】:

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

    UserMailer.delay(:priority => 2).email_digest(...)
    

    【讨论】:

      【解决方案2】:

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

      UserMailer.delay(:queue=> "Mailers",:priority=>  1).email_digest(from,email,subject,html,text)
      

      【讨论】:

        【解决方案3】:

        Rails 5 app/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 =&gt; 75)

        这对我有用

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-07
          • 1970-01-01
          • 1970-01-01
          • 2011-05-09
          • 1970-01-01
          • 2019-11-19
          相关资源
          最近更新 更多