使用Cron检查并重新启动PHP脚本

时间:2013-07-06 15:39:16

标签: php cron

我有一个脚本,它将连续运行while()循环,execute.php。它最初将通过Cron触发,在某个时间启动并运行while循环(定期休眠),直到达到预定的结束时间,该结束时间将由详细说明开始和结束时间的MySQL表控制。

在脚本的每个循环中,我将把当前时间戳放入DB表中。我想要一个Cron任务然后每5分钟左右运行一次并确保脚本没有崩溃,如果有,那么重新访问execute.php并重新启动它。显然我可以设置一个Cron任务来运行像check.php那样只检查时间戳表并确保它不超过2分钟左右,但是如何让脚本重新启动execute.php?

我能想到的唯一解决方案是让check.php提前几秒安排一个新的Cron任务来运行execute.php,但这看起来很笨拙。问题的关键是:在这种情况下,有没有办法让一个PHP脚本运行另一个?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将整个锁定逻辑移动到您的PHP脚本中。既然你已经拥有了所需的一切(数据库凭证,带有表名的配置文件......),那么就像这样构建它:

  1. 连接数据库,加载设置等......
  2. 检查上次更新时间与当前时间的差异
  3. 如果它足够新鲜,exit
    如果while()
  4. 不够新鲜

    如果您可以在monitgod等服务器上安装内容,则可以使用各种守护程序管理软件,或者只需将init与重生行一起使用即可。