【问题标题】:Send email at a specific time - CRON jobs PHP在特定时间发送电子邮件 - CRON 作业 PHP
【发布时间】:2015-11-19 01:06:39
【问题描述】:

嗯,基本上我需要在保存在数据库中的特定时间发送电子邮件,并且电子邮件以不同的时间戳注册,这里唯一的问题是我有一个每小时执行一次的 cron,这里的问题如何在 cron 执行时安排在不同时间发送电子邮件?

【问题讨论】:

  • 我是否理解您的问题意味着 cron 在 10:00, 11:00, 12:00, ... 触发并且您希望电子邮件发送到 10:13, 10:55, 11:44 ?

标签: php email cron


【解决方案1】:

如果您使用的是平面时间戳,则只需检查 sendDate 是否“小于或等于”(lte)当前时间。 (如果不使用strtotime 将您的日期字符串转换为时间戳)

if($sendAt <= time()) {
    //send mail
}

【讨论】:

    【解决方案2】:

    通常任务运行器 cron 作业的运行频率远高于每小时一次。尝试将其设置为每 5 分钟一次。该 cron 运行一个作业,检查 db 是否有任何未发送的电子邮件与从现在到最后一个 cron 作业(现在 - 5 分钟)之间的时间相匹配并发送它们。您希望的时间越具体,您需要越频繁地运行您的工作。

    【讨论】:

      猜你喜欢
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      相关资源
      最近更新 更多