我在我的数据库中设置了一些条目来运行php中的一些脚本。所以我将每隔几分钟运行一个cron文件,看看接下来几分钟我是否有一些脚本可以运行,我会触发它们,我想知道如果我有一个脚本要在12:10执行会发生什么在5分钟内,如果我有另一个请求在12:12运行相同的脚本而第一个脚本的执行尚未完成,会发生什么。文件是否锁定直到执行完毕?或者什么?
它在不同的时间执行相同的文件。
我想我可以用cron标签做到这一点,但我不喜欢它。
答案 0 :(得分:2)
他们没有同时运行的问题,但请记住,如果他们将写入同一个文件/数据库表,你可能会遇到问题。
答案 1 :(得分:2)
它将运行脚本两次,三次或多次运行。如果您只想一次运行一个脚本,则可以创建一个锁定文件,然后检查它是否存在。例如:
if(file_exists('/tmp/script.lock')){
exit();
}
file_put_contents('/tmp/script.lock','');
// execute code
unlink('/tmp/script.lock');