0

我正在使用 cronjob 来激活 php 脚本。虽然当我从浏览器手动执行此操作时,脚本需要 3-4 秒才能加载并将结果输出到数据库中。

当 cron 作业执行此操作时,似乎脚本无法在分配的时间内完成,并且 cronjob 中途停止加载脚本,cron 工作大约 1/10 的时间,其余 9/10 次无法完成任务。有没有办法可以确保每次 cron 作业激活脚本时都完全加载脚本?

脚本很简单,完全基于 php。有什么建议么?

4

1 回答 1

2

我建议实施一个锁定文件(溢出保护)解决方案。基本上,当您的脚本启动时,它将检查锁定文件,如果锁定文件存在,则脚本可以假定先前的咒语仍在运行,因此它将停止执行。当脚本完成时,它将删除锁定文件,以便后续运行可以通过锁定文件检查并完整执行。

锁定文件通常包含由脚本生成的进程 ID,通常位于 /var/lock/my_script.lock 之类的位置。

您可以搜索更多信息,但这里有一个带有锁定文件示例的站点。

于 2012-05-03T23:51:03.590 回答