我有一个PHP脚本,处理和创建大量正在被使用运行cron作业每5分钟的图像。 我希望能够限制这种因此它只能在同一时间运行一次,如果每次运行需要超过5分钟不重叠。
flock()
似乎是最好的方式实现这一目标,但我努力理解究竟如何,我应该加入到我的现有脚本这一点。 我的cron作业是安装运行以下文件 -
images.php:
$array=array("Volvo","BMW","Toyota","Audi","Ford","Alfa","Porsche","Mercedes");
foreach ($array as $car) {
generateImageCustomFunction($car);
}
我想用这样基于示例非阻塞锁:
$fp = fopen('/tmp/lock.txt', 'r+');
if(!flock($fp, LOCK_EX | LOCK_NB)) {
echo 'Unable to obtain lock';
exit(-1);
}
fclose($fp);
是'lock.txt”只是一个纯文本文件,存储/指示锁或者是实际的文件我试图运行-在这种情况下images.php?
也是在约我是不是真的坚持我现有的代码在上面?