【发布时间】:2013-08-03 09:14:52
【问题描述】:
我有 5 个运行 PHP 文件的 cron 作业。 PHP 文件检查 MySQL 数据库中需要处理的项目。由于 cron 会同时启动所有脚本,因此某些项目似乎被处理了两次,甚至有时多达五次。
在其中一个脚本中选择文件后,它会立即发送一个 UPDATE 查询,这样其他作业就不会再次运行它。但看起来它仍然是双重处理。
如何防止其他脚本处理之前由其他 cron 作业选择的项目?
【问题讨论】:
-
把所有东西都放在一个 crob 工作中?确保每个 cron 作业仅执行一项作业,这样就不可能在同一行上执行相同的操作?
-
处理一项需要时间。大约 30 秒。如果我有五个 cron 作业,则在 30 秒内处理五个项目。