laravel-5 - 邮件队列的 Laravel 5.4 Cron 作业在 AWS EC2 实例上不起作用
问题描述
我在我的 EC2 实例上创建了一个 cron 作业,用于从队列发送电子邮件。它显示每分钟运行一次玉米命令,但我看到任务保留在我的作业表中。我已经搜索并尝试了现有的解决方案,但未能找出问题所在。虽然当我运行时队列在我的本地服务器上工作
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 命令是错误的。我正在运行调度命令而不是队列命令。所以我把它从
* * * * * /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
请转到下面的此链接并按照检查表诊断您在这方面的具体问题。
https://stackoverflow.com/questions/58738157/laravel-queue-with-aws-elastic-beanstalk
推荐阅读
- reactjs - 为什么当我有组件时添加子路由会发出此警告
- mongodb - 在 Mongo 集合中查找嵌套对象的第一个值
- c - 使用 getopt_long() 第二遍不起作用
- r - dplyr::group_by 意外影响一列向量,导致“每个组仅包含一个观察值......”错误
- sql - 如何连接sybase并使用cmd执行sql文件
- python - Django Wagtail CSV and photo "upload" - management command
- typescript - TypeScript - 如何为具有单个全局函数的第三方包编写声明文件?
- python - Django没有调用函数
- javascript - NodeJS: Adding items to a collection with one unique and one duplicate value
- javascript - 在 Excel Javascript API 中创建嵌入式 Web 浏览器或 iframe