下午好,
与laravel相比,我试图在主机中运行此cron以处理laravel 5.6中的队列,但出现以下错误:
[root@s19 ~]# /usr/local/bin/php /home/user/myweb/artisan schedule:run
InvalidArgumentException : 5 is not a valid position
at /home/nigmacod/nigmacode/vendor/dragonmantank/cron-expression/src/Cron/FieldFactory.php:46
42| case 4:
43| $this->fields[$position] = new DayOfWeekField();
44| break;
45| default:
> 46| throw new InvalidArgumentException(
47| $position . ' is not a validposition'
48| );
49| }
50| }
Exception trace:
1 Cron\FieldFactory::getField()
/home/user/myweb/vendor/dragonmantank/cron-expression/src/Cron/CronExpression.php:153
2 Cron\CronExpression::setPart("*")
/home/user/myweb/vendor/dragonmantank/cron-expression/src/Cron/CronExpression.php:136
那是我内核文件中的功能计划:
protected function schedule(Schedule $schedule)
{
$schedule->command('queue:work --tries=3')
->cron('* * * * * *')
->withoutOverlapping();
}
这就是我在cpanel中配置的cron,以便它每分钟运行一次:
/usr/local/bin/php /home/user/myweb/artisan schedule:run >> /dev/null 2>&1
答案 0 :(得分:2)
->cron('* * * * * *')
是您的问题。
Cron期望使用五个值-分钟,小时,每月的某天,每月和一周的某天。您已经提供了第六个,但它不知道如何处理。
将其更改为->cron('* * * * *')
(或为了获得更好的可读性,请更改为->everyMinute()
),一切就绪。