我有一个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 回答
你确定它会停止吗?您每隔3分钟执行一次脚本,并在每次调用时使用"reset"日志文件 . (
>file
而不是>>file
)您是否使用某种锁定机制来阻止脚本在已经运行时启动?
确保您的脚本一次只运行一个,或者将结果输出到唯一命名的日志文件(这可能更好,因为您希望能够查看过去的执行) .