TYPO3:错误的cronjob时间

时间:2016-11-21 18:35:03

标签: php cron typo3 scheduler

我在TYPO3调度程序中发现了一个非常奇怪的行为: 我创建了一个频率为* */1 * * *的任务,所以它应该每小时运行一次。但在"下一次执行"它写了,它将在下一分钟运行。 所以我试着使用"真实"秒,并将频率设置为" 3600" (= 1小时)。现在它显示下一次执行将在3分钟内完成。如果我使用" 300"它将在4分钟内运行。

这是TYPO3调度程序中的错误还是有人知道这里的问题是什么?

我在Debian 8.6,Apache 2,PHP 7上运行TYPO3 8.4。 在crontab中设置以下行: */1 * * * * /usr/bin/php /var/www/fareith/htdocs/typo3/cli_dispatch.phpsh scheduler

1 个答案:

答案 0 :(得分:7)

您需要熟悉crontab条目的语法。该语法是:

* * * * * command
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── day of week (0-7, sunday is 0 or 7)
│ │ │ └────── month (1-12)
│ │ └──────── day (1-31)
│ └────────── hour (0-23)
└──────────── minute (0-59)

如果您在任何修复该部分执行日期/时间的地方设置了值。可以通过用逗号分隔它们来设置多个值(没有空格!)。

除此之外还有符号*/3(星号除以值),这意味着:在每个值单位(首先*/3表示:每三分钟一次)
所以像*/1 * * * * command这样的条目意味着:执行"命令"每一分钟 */1与星号*相同:在每个单位执行。

对于每小时执行一次,您需要通过设置任何固定值来修复分钟值。

对于秒的值:下一个执行时间是从调度程序条目的上次执行(或创建时间)计算的。

最后:
调度程序作业不能比调度程序自身运行更频繁地运行。通常,调度程序在每分钟启动(如您的示例所示),但在某些提供程序中,调度程序仅每15分钟调用一次(*/15 * * * * php ..../cli_dispatch.phpsh scheduler)。即使您将TYPO3中的作业配置为更频繁地启动,它们也只会在下次运行调度程序时启动。