IT源码网

php延迟发送数据5分钟

wuhuacong 2024年02月27日 程序员 25 0

我有一些数据在表单提交后插入到数据库中。将它们插入数据库后,我需要将该数据发送到电子邮件,但我必须等待 5 分钟才能发送它们。

无论如何,我可以等待 5 分钟,比如说 sleep 功能。我不希望用户等待 5 分钟来执行脚本。

这就是我的想法:

1)提交表单并向数据库插入数据

2) 将插入的行 ID 发送到以某种方式在服务器上作为进程运行的其他脚本

3) 5 分钟后发送包含作为进程运行的脚本的电子邮件

4) 如果还有更多,则假设 50 个 id 处于保留状态,启动新进程并再次执行 3-4 中的步骤。

这就是我的想法。

我不知道从哪里开始。

请给我一些指示。我不需要重新准备即可使用解决方案。

我不想使用 cron 作业!!!

请您参考如下方法:

伪代码中的错误答案是

Put record in queue with timestamp eg a database 
Write server process to monitor queue and see if 5 mins has passed 
Send mail if 5 mins have passed. 
Write monitoring system to monitor server process and ensure it is working. 

更好的答案是使用 linux at 函数(如果可用)或依赖于未指定平台的其他预先存在的任务调度系统。安排任务在特定时间发生正是您需要做的,这也是这些系统的设计目的。


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!