0

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

在脚本的每个循环中,我都会将当前时间戳放入数据库表中。我希望 Cron 任务每 5 分钟左右运行一次,并确保脚本没有崩溃,如果有,然后重新访问 execute.php 并重新启动它。显然我可以设置一个 Cron 任务来运行 check.php 之类的东西,它只是检查时间戳表并确保它不超过 2 分钟左右,但是我如何让该脚本重新启动 execute.php?

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

谢谢。

4

1 回答 1

0

您可以将整个锁定逻辑移动到您的 php 脚本中。由于您已经拥有所需的一切(数据库凭据、带有表名的配置文件......),只需像这样构建它:

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

如果您可以在服务器上安装诸如monitgod 之类的东西,或者您可以简单地将init与 respawn 行一起使用,则有各种守护程序管理软件。

于 2013-07-06T15:44:06.413 回答