0

我以前从未见过这个问题,我很困惑。我有 3 个通过 CakePHP 的控制台系统执行 PHP 代码的 cron 作业。所有 3 个作业已经运行了几个月,没有任何问题,并且继续运行。奇怪的问题是这些 cron 作业的输出总是相同的,但是当我手动运行代码时,它是正确的更新输出。我将每个作业的输出记录到 txt 文件中,以便查看时间戳和输出。

以下是 txt 文件中一项作业的输出(7 月 5 日 12:30 运行):

Welcome to CakePHP v2.1.2 Console
---------------------------------------------------------------
App : app
Path: /var/www/html/app/
---------------------------------------------------------------

- Calculating stats
- 79 players calculated

---------------------------------------------------------------

CalculateStats complete!
Shell took 9.4434700012207 seconds

这是我手动运行 shell 时的输出:

Welcome to CakePHP v2.1.2 Console
---------------------------------------------------------------
App : app
Path: /var/www/html/app/
---------------------------------------------------------------

- Calculating stats
- 188 players calculated

---------------------------------------------------------------

CalculateStats complete!
Shell took 6.4958961009979 seconds

当作业再次运行(每 4 小时)时,输出将与第一个示例相同。就好像这项工作陷入了冻结状态,我不太确定如何解决它。

我已禁用缓存,检查 PATH 并确保 crontab 中有一个尾随换行符。所有作业(和我自己)也以 root 用户身份运行。作为参考,这是我的 crontab。

0 0-23/4 * * * /var/www/html/lib/Cake/Console/cake -app /var/www/html/app/ calculate_stats > /root/calculate_stats.txt

30 0-23/4 * * * /var/www/html/lib/Cake/Console/cake -app /var/www/html/app/ aggregate_votes > /root/aggregate_votes.txt

0 15 * * 3 /var/www/html/lib/Cake/Console/cake -app /var/www/html/app/ game_sprint_reset > /root/game_sprint_reset.txt

有任何想法吗?

4

0 回答 0