Laravel 5.4 Задание Cron для очереди почты не работает на экземпляре AWS EC2 - PullRequest
0 голосов
/ 07 мая 2020

Я создал задание cron на своем экземпляре EC2 для отправки электронной почты из очереди. Он показывает, что команда кукурузы выполняется каждую минуту, но я вижу, что задачи остаются в моей таблице заданий. Я уже искал и пробовал существующие решения, но не смог выяснить проблему. Хотя очередь работает на моем локальном сервере, когда я запускаю php artisan schedule:run

Мой код в ядре:

$schedule->command('queue:work')
            ->everyMinute()
            ->withoutOverlapping();

Команда, которую я добавил в файл, используя crontab -e

* * * * * /usr/bin/php /var/www/html/prod_back/artisan schedule:run >> /dev/null 2>&1

Это результат, который я вижу в терминале при запуске sudo service cron status

May 07 13:50:01 ip-172-31-39-27 CRON[20260]: pam_unix(cron:session): session opened for user ubuntu by (uid=0)
May 07 13:50:01 ip-172-31-39-27 CRON[20261]: (ubuntu) CMD (/usr/bin/php /var/www/html/prod_back/artisan schedule:run >> /dev/null 2>&1)
May 07 13:50:01 ip-172-31-39-27 CRON[20260]: pam_unix(cron:session): session closed for user ubuntu

1 Ответ

0 голосов
/ 10 мая 2020

Наконец-то я решил проблему. Я получил помощь сообщества, в которой указывалось, что моя команда cron неверна. Я запускал команду расписания вместо команды очереди. Поэтому я изменил его с

* * * * * /usr/bin/php /var/www/html/prod_back/artisan schedule:run >> /dev/null 2>&1

на

* * * * * /usr/bin/php /var/www/html/prod_back/artisan queue:work >> /dev/null 2>&1

Еще одна вещь, мне также пришлось запустить команду ниже, чтобы перезагрузить мои изменения env из syn c в базу данных для драйвера очереди .

/usr/bin/php /var/www/html/prod_back/artisan config:cache

Перейдите go по этой ссылке ниже и следуйте контрольному списку для диагностики вашей конкретной c проблемы в этом отношении.

...