如果我有一个每分钟运行一次的cron作业,并且第一次迭代运行62秒,第二次迭代是否会等待直到第一次发生结束,或者可能发生同一个cron作业同时运行?PHP:如何使用cron(或其他方法)让PHP脚本每秒运行一次?
为了说明这一点,看到的场景1:
|0 |60 |120 |180 |240 |300
------ Cron Job 1 Taking 60 Seconds
--------- Cron Job 2 Taking 90 Seconds
------ Cron Job 3 Taking 90 Seconds but overlapping with the previous cron job
就是上面会发生什么,或将场景2发生:
|0 |60 |120 |180 |240 |300
------ Cron Job 1 Taking 60 Seconds
--------- Cron Job 2 Taking 90 Seconds
XXX-------Cron Job 3 waiting til the next 1 minute interval starts
我担心的是会有30期秒标记为XXX,那里没有任何cron作业正在运行。
我想完成什么?我想无限期地每隔一秒执行一次PHP脚本。它不必每秒运行一次,但它必须运行,结束,运行,结束,运行,结束。如果迭代需要5秒钟,它只能在第一个结束后才开始下一个迭代。但它永远不会停止。问题是我无法确定迭代的长度。一次迭代可能需要1秒,或者可能需要5秒,甚至更长。
- cron能做到这一点吗?所以我可以保证脚本每秒都会运行,不管怎样?
- 如果不是的话,我怎样才能确定一个PHP脚本无限期运行,一个接一个迭代?
我已更新我的问题 – coderama 2013-04-10 18:50:19