我有一些数据在表单提交后插入到数据库中。将它们插入数据库后,我需要将该数据发送到电子邮件,但我必须等待 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 函数(如果可用)或依赖于未指定平台的其他预先存在的任务调度系统。安排任务在特定时间发生正是您需要做的,这也是这些系统的设计目的。