我正在使用cronjob激活一个php脚本。虽然当我从浏览器手动执行时,脚本需要3-4秒来加载,并且它会将结果输出到数据库中。
当cron作业完成时,脚本似乎无法在分配的时间内完成,cronjob中途停止加载脚本,cron工作的时间约为1/10,其余9/10的时间无法完成任务。有没有一种方法可以确保每次cron作业激活脚本时都完全加载该脚本?
脚本很简单,完全基于php。有什么建议吗?
发布于 2012-05-04 07:51:04
我建议实现一个锁文件(溢出保护)解决方案。基本上,当你的脚本启动时,它会检查锁文件,如果锁文件存在,脚本可以假设上一个咒语仍然在运行,所以它会暂停执行。当脚本完成时,它将删除锁文件,以便后续运行可以通过锁文件检查并完整执行。
锁文件通常包含由脚本产生的进程id,通常位于/var/ lock /my_script.lock之类的位置。
你可以在谷歌上搜索更多信息,但这里有一个带有锁文件示例的site。
https://stackoverflow.com/questions/10440772
复制相似问题