Задания Cron на виртуальном хостинге с использованием планировщика laravel не работают - PullRequest
0 голосов
/ 07 декабря 2018

У меня проблема с запуском планировщика laravel для отправки писем в очереди

Настройка следующая: Laravel 5.7 Я настроил планировщик (App / Console / Kernel.php), как указано ниже

protected function schedule(Schedule $schedule)
{       
  $schedule->command('queue:work --tries=3')->everyFiveMinutes()->withoutOverlapping();
}

База данных настроена в соответствии с документами Laravel.Как только я нажимаю на ссылку в своем пользовательском интерфейсе, я вижу запись в базе данных.

.env QUEUE_CONNECTION = database и тот же параметр в Config / queue.php (если я изменяю базу данных для синхронизации, он отлично работает)

Моя работа cron на сервере выглядит следующим образом (я только что попытался зарегистрировать cron)

/usr/local/bin/php /home/XXX/YYY/artisan schedule:run 1>> /home/XXX/public_html/junk/cron_log.php 2>&1

Я вижу, как журналы cron обновляются каждые пять минут, но

"Запланированные команды не готовы к запуску"

Точно такой же код и настройки работали прошлой ночью (перед сном).Я проверил более 40 попыток отправки emais, и записи БД удалялись.Я только пытался сохранить планировщик с помощью EveryFiveMinues (), но теперь он не работает.

Я могу понять, что письма медленно достигают, но почему записи в БД не были удалены, как прошлой ночью?

1 Ответ

0 голосов
/ 07 декабря 2018

это может быть полезно для других, кто использует Laravel 5.7, совместно используемый хостинг Godaddy.

Вышеупомянутая проблема с отправкой почтовых заданий не выполнялась (я имею в виду, что задания cron выполняются, но записи базы данных не очищаются.Кажется, проблема связана с

->withoutOverlapping();

После того, как я удалил этот метод, я теперь правильно вижу записи cron_log и также получаю письма. Мои записи cron_log как показано ниже

Running scheduled command: '/opt/alt/php71/usr/bin/php' 'artisan' queue:work --tries=3 > '/dev/null' 2>&1

Я предполагаю, что метод безOverlapping () имеет проблемы при выполнении cron. Я ничего не изменил в коде.

...