【问题标题】:Make delayed job run at specific date time使延迟作业在特定日期时间运行
【发布时间】:2017-02-04 09:52:22
【问题描述】:

我想通过delayed_job发送一些电子邮件

但是,我想在活动前后发送它们。

我担心这是否真的有效:

def one_week_before_run
  AtendeeMailer.delay(run_at: '8th October 2016'.to_datetime).mudrun_about_to_start(self)
end

def thank_you_note
  AtendeeMailer.delay(run_at: '18th October 2016'.to_datetime.end_of_day).thank_you(self)
end

还是我应该选择其他方法?

【问题讨论】:

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


    【解决方案1】:

    延迟作业仅在 run_at

    SELECT `delayed_jobs`.* FROM `delayed_jobs` WHERE ((run_at <= '2016-09-27 00:49:59' AND (locked_at IS NULL OR locked_at < '2016-09-27 00:24:59') OR locked_by = 'host:Madhubalans-Air pid:74314') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1
    

    您的代码将 run_at 设置为 2016-10-18 00:00:00 和 2016-10-18 23:59:59。 所以你的代码会按照你的期望工作:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-08
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多