Web 开发中的计划事件



我正在开发一个需要php代码在特定日期/时间运行的Web应用程序。

一些假设的例子是在用户生日的09:00向用户发送电子邮件,或者在预定的日期和时间修改数据库条目(mySQL(。

实现这种调度功能的传统方法是什么? 我已经看到 cron-job 被用于类似的需求,但这对于大量计划任务是否可行?

取决于项目的大小,但通常我们没有一个脚本来完成所有的 cron 作业,因为事情需要在不同的时间发生。某些电子邮件可能会在晚上 9 点发送,某些数据库清理可能会在午夜发送,会话可能每隔几分钟过期一次。最好的办法是为每件事设置单独的 cron 作业。有几个例外:

  1. 某些任务需要非常频繁地运行,例如每 30 秒运行一次。为此,我们设置了一个 cron 任务,该任务检查"ps"以查看它自己的进程是否已经在运行,并让它等待 30 秒并循环。

  2. 当队列已满时,运行某些任务更有意义。为此,当某个基于用户的脚本执行第 100 次、第 200 次或第 300 次时,我们会触发任务。例如,当用户 ping 100 次而不执行任何其他操作时,我们会在不使用 cron 任务的情况下将其注销,但有一个单独的 cron 任务可以检查它们是否处于非活动状态 10 分钟。

最新更新