Laravel 5.4 邮件队列的 Cron 作业无法在 AWS EC2 实例上运行

Laravel 5.4 Cron Job for Mail Queue not working on AWS EC2 instance

我在我的 EC2 实例上创建了一个 cron 作业,用于从队列发送电子邮件。它每分钟显示 运行ning 玉米命令,但我看到任务仍在我的作业中 table。我已经搜索并尝试了现有的解决方案,但未能找出问题所在。尽管当我 运行 时队列在我的本地服务器上工作 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

终于,我解决了这个问题。我得到了社区帮助,指出我的 cron 命令是错误的。我是 运行ning schedule 命令而不是 queue 命令。所以我把它从

* * * * * /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

还有一件事,我还必须 运行 下面的命令将我的环境更改从同步重新加载到队列驱动程序的数据库。

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

请转至下面的 link 并按照清单诊断您在这方面的具体问题。