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