我正在开发一个Web应用程序,该应用程序要求php代码在特定的日期/时间运行。
一些假设的示例是在生日那天09:00向用户发送电子邮件,或在预定的日期和时间修改数据库条目(mySQL)。
实现这种调度功能的常规方法是什么? 我已经看到cron-jobs用于类似的要求,但这对于大量计划任务是否可行?
答案 0 :(得分:0)
取决于项目的大小,但是通常我们没有一个脚本来完成所有cron作业,因为事情需要在不同的时间发生。一些电子邮件可能在晚上9点发送,一些数据库清理可能在午夜发生,并且会话可能每隔几分钟到期。最好的办法是为每件事设置单独的cron作业。有一些例外情况:
某些任务需要非常频繁地运行,例如每30秒运行一次。为此,我们设置了一个cron任务,检查“ ps”以查看其自身的进程是否已在运行,并等待30秒然后循环。
当队列已满时,一些任务更有意义。为此,当某个基于用户的脚本执行第100或200或300次时,我们将触发任务。例如,当用户ping 100次而不执行其他任何操作时,我们不使用cron任务将其注销,但是有一个单独的cron任务可检查用户是否已处于非活动状态10分钟。