从 cron 运行时 PHP 脚本未完成

标签 php cron

我有一个 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/

相关文章:

java - 如何使用 SSH 访问停止 CRON 设置

php - 企业版中的 Magento 重建索引问题

php - mysql删除了文本的字符编码

php - Laravel - 如何在 View 中使用/访问 session 变量?

php - 如何删除mysql表中的重复值

php - 保护目录免受直接 URL 访问

php - 在 Media Temple 网格服务上运行 CakePHP Cron 作业

linux - sh文件没有在cron ubuntu上运行

php - Cron 不在 PHP Docker 容器中运行

Node.js,基于日期时间的提醒