【发布时间】:2014-09-17 04:45:07
【问题描述】:
我必须在会议时间的 12 小时之前向员工发送一封关于他的会议的电子邮件。会议时间存储在 mysql 表中。我应该使用 PHP 发送电子邮件。谁能帮我解决这个问题?
【问题讨论】:
我必须在会议时间的 12 小时之前向员工发送一封关于他的会议的电子邮件。会议时间存储在 mysql 表中。我应该使用 PHP 发送电子邮件。谁能帮我解决这个问题?
【问题讨论】:
是的,做一个搜索每条记录的 Cron 作业,需要时间。
然后检查 (time - 43200) 是否等于当前时间戳。 43200 秒是 12 小时。
if (($time_from_db - 43200) === time())
{
// send email
}
【讨论】:
如果您在类 Unix 平台上,则系统 at 队列比常规 cron 作业消耗的资源更少。只需在将事件添加到数据库时安排作业:
echo "echo 'Subject: meeting at $date' | sendmail '$user'" |
at "$(date -d "12 hours before $date")"
(概念证明;您可能想用您的宿主语言进行日期算术,即使它是 PHP。)
记下队列号,以便在活动移动或取消时将其删除。
【讨论】: