剂量新运行玉米作业可以影响最后运行的PHP脚本?

时间:2015-06-15 21:20:50

标签: php server

我有一个php脚本,其中包含5-15 min。

之间的进程时间

我想用玉米工作每5分钟运行一次这个脚本。

在proccess期间我也运气php脚本....例如,如果脚本执行proccess corn job不能再次运行该脚本(返回false)!

现在这是我的问题:

例如在0min and 5th min 10th min 15th min 20th min ...

中运行玉米作业

我的脚本在8th min完成第一次玉米作业运行。

如果玉米工作在第5分钟运行,那么

剂量php scrip break?

是的我在过程中运气脚本...但我认为如果玉米工作在第5分钟运行,连接将被重置并且脚本中断。我错了吗?

1 个答案:

答案 0 :(得分:0)

您需要实现某种锁定机制。

第一个启动的脚本在文件系统中创建一个锁文件。所有脚本首先检查此脚本是否已存在。如果确实如此,他们会马上离开。如果不是,他们就开始处理正常流程。

这里唯一关键的是确保过时的锁文件不会阻止处理流程。因此,如果脚本删除它在完成时创建的锁定文件,则其他脚本可以开始处理。如果您使用脚本的进程ID作为锁定文件的内容,则可以执行此操作。这样,每个起始脚本都可以检查创建现有锁的进程是否仍处于活动状态。

这一切都假定您将脚本作为本地进程启动,因此通过CLI启动,而作为脚本由本地http服务器执行。本地脚本(通常)在执行时间方面没有限制。