我有一个 PHP 脚本,它遍历数据库中的所有产品并查看 session 文件以查看哪些产品在用户的购物篮中。然后它释放分配给篮子的股票,但这些篮子的交易时段已经过期。很简单。
对于循环中的每个产品,它都会打印出产品 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)
最佳答案
你确定它停止了吗?您每 3 分钟执行一次脚本,并且在每次调用时“重置”日志文件。 (>文件
而不是 >>文件
)
如果脚本已经在运行,您是否使用某种锁定机制来阻止脚本启动?
关于从 cron 运行时 PHP 脚本未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262911/