首页 文章

从cron运行时,PHP脚本无法完成

提问于
浏览
4

我有一个PHP脚本,它遍历数据库中的所有产品,并查看会话文件以查看哪些产品在用户的篮子中 . 然后它发布分配给篮子的股票,但这些篮子的会话已经过期 . 很简单 .

对于循环中的每个产品,它都会打印出产品ID .

如果我从命令行运行脚本:

./release.php

它贯穿所有产品(~2500) . 但是,如果脚本是由crontab运行的,那么它会上升到150到300个产品之间;然后停止没有任何错误 .

crontab -l
# m h  dom mon dow   command
*/3 *  *   *   *     /var/www/vhosts/example.com/release.php &> $HOME/release.log

/var/log/cron.log 中没有任何用处,或者:

Jun  7 10:00:01 xxxxxxx /USR/SBIN/CRON[15751]: (root) CMD (/var/www/vhosts/example.com/release.php &> $HOME/log)

2 回答

  • 0

    你确定它会停止吗?您每隔3分钟执行一次脚本,并在每次调用时使用"reset"日志文件 . ( >file 而不是 >>file

    您是否使用某种锁定机制来阻止脚本在已经运行时启动?

  • 4

    确保您的脚本一次只运行一个,或者将结果输出到唯一命名的日志文件(这可能更好,因为您希望能够查看过去的执行) .

    */3 *  *   *   *     /var/www/vhosts/example.com/release.php &> $HOME/release-$(date "+%Y%m%d%-%H%M%S").log
    

相关问题