Работа Cron с Laravel на общем сервере выдает эту ошибку, почему? - PullRequest
0 голосов
/ 01 февраля 2019

Добрый день,

Я пытаюсь запустить этот cron для работы с очередями в laravel 5.6 на хосте по сравнению с laravel, но я получаю следующую ошибку:

[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();
        }

И это будет cron, который я настроил в своей cpanel, чтобы он запускался каждую минуту:

/usr/local/bin/php /home/user/myweb/artisan schedule:run >> /dev/null 2>&1

1 Ответ

0 голосов
/ 01 февраля 2019

->cron('* * * * * *') - это ваша проблема.

Cron ожидает пять значений - минута, час, день месяца, месяц и день недели.Вы предоставили шестую, и она не знает, что с ней делать.

Измените ее на ->cron('* * * * *') (или для лучшей читаемости, ->everyMinute()), и все будет готово.

...