我需要在事件(表单提交)后10分钟延迟PHP中某些代码的执行(例如,发送电子邮件).
完成此任务的最佳方法是什么?
我唯一的选择是每分钟运行一次Cronjob吗?这在共享主机上是否实用?
使用cronjobs是最好的方法.
如果您不能在共享主机上使用cronjob(询问客户支持),您可以在连接到互联网(即您的家庭计算机)的计算机上运行cronjob,该计算机将wget运行到服务器上的php页面,进行身份验证在它上面,然后运行PHP代码发送您的电子邮件.
对于PHP代码部分,我将使用包含要发送的所有电子邮件的数据库表,creation_date字段和状态字段.
您的作业调用的PHP代码将执行(伪代码):
$batchRecords = takeAbunchOfRecordsWhereStatus(NOT_SENT);
while($batchRecords) {
if($creationDate + 10 minutes >= now()) {
sendEmail();
markRecordAsSent();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2033 次 |
| 最近记录: |