同时运行多个cron实例

时间:2012-11-26 17:19:43

标签: php cron

我在我的数据库中设置了一些条目来运行php中的一些脚本。所以我将每隔几分钟运行一个cron文件,看看接下来几分钟我是否有一些脚本可以运行,我会触发它们,我想知道如果我有一个脚本要在12:10执行会发生什么在5分钟内,如果我有另一个请求在12:12运行相同的脚本而第一个脚本的执行尚未完成,会发生什么。文件是否锁定直到执行完毕?或者什么?

它在不同的时间执行相同的文件。

我想我可以用cron标签做到这一点,但我不喜欢它。

2 个答案:

答案 0 :(得分:2)

他们没有同时运行的问题,但请记住,如果他们将写入同一个文件/数据库表,你可能会遇到问题。

答案 1 :(得分:2)

它将运行脚本两次,三次或多次运行。如果您只想一次运行一个脚本,则可以创建一个锁定文件,然后检查它是否存在。例如:

if(file_exists('/tmp/script.lock')){
  exit();
}
file_put_contents('/tmp/script.lock','');

// execute code

unlink('/tmp/script.lock');