我正在运行laravel 5.1并且我在使用laravel任务调度时遇到了一些问题。问题是某些命令正在运行,而其他命令则没有。我根本没有解释......
我有两个如下定义的命令:
$schedule->command('some:command')
->cron('00 00 * * *');
$schedule->command('some:other:command')
->cron('50 00 * * 7');
我的两个命令都列在受保护的$commands
数组中。
some:command
命令每天运行正常,但some:other:command
根本没有运行。当我用php artisan
调用命令本身时,一切正常。将->cron()
函数更改为->dailyAt('00:00');
函数时会出现同样的问题。
此问题仅发生在我的暂存环境中,生产一切正常。两种环境都是100%相同......
答案 0 :(得分:1)
cron计划的最后一位数字应为0 - 6
。大多数crons都不支持7。
如果你想在每个星期天运行你的cron,最好使用0
。
像这样:
$schedule->command('some:other:command')
->cron('50 00 * * 0');
答案 1 :(得分:0)
参加聚会可能有点晚,但希望它可以对其他用户有所帮助:
问题是cron作业已启用日志记录。 由于某些原因,从未关闭到这些文件的流,并且新运行导致权限被拒绝错误。未记录此错误,因为记录不起作用...
这也解释了为什么它可以在其他环境中工作。