我需要在事件(表单提交)后延迟 10 分钟执行 PHP 中的某些代码(例如,发送电子邮件)。
实现这一目标的最佳方法是什么?
我唯一的选择是每分钟运行一次 Cronjob 吗?这对于共享主机实用吗?
使用 cronjobs 是最好的方法。
如果您无法在共享主机上使用 cronjob(询问客户支持),您可以在连接到互联网的计算机(即您的家庭计算机)上运行 cronjob,该计算机运行 wget 到您服务器上的 php 页面,进行身份验证然后运行 php 代码来发送您的电子邮件。
对于 PHP 代码部分,我将使用包含所有要发送的电子邮件的数据库表、creation_date 字段和 status 字段。
作业调用的 PHP 代码将简单地执行以下操作(以伪代码形式):
$batchRecords = takeAbunchOfRecordsWhereStatus(NOT_SENT);
while($batchRecords) {
if($creationDate + 10 minutes >= now()) {
sendEmail();
markRecordAsSent();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)