带有AWS Elastic Beanstalk的Laravel队列

问题描述 投票:0回答:1

在我的本地服务器中,我可以毫无问题地使用队列,只需使用:php artisan queue:work

但是在我的AWS服务器中,队列未运行。

我的连接队列为database,并且同步邮件正在正常发送。

我已在Job表中签入,可以看到我的队列,但由于未知原因,它从未运行。

是否有必要在AWS Elastic Beanstalke服务器中进行一些不同的配置?

我尝试手动使用

php artisan queue:listen
php artisan queue:work

均失败。

laravel amazon-web-services amazon-elastic-beanstalk laravel-queue
1个回答
0
投票

检查事项:

  1. 尝试指定连接名称:php artisan queue:work database

  2. 否则请确保您的EC2上的环境文件引用正确的默认QUEUE_DRIVER QUEUE_DRIVER=database,在这种情况下

  3. 如果没有在环境文件default' => env('QUEUE_DRIVER', 'database')中指定队列驱动程序,请检查config / queue.php以获取正确的默认设置。

  4. 在您的EC2实例上运行php artisan config:cache以重新加载环境更改。

  5. 而且您只需要使用这两个命令之一,推荐使用php artisan queue:work作为它缓存应用程序状态,但是每次您推送代码更改时都运行php artisan queue:restart

    建议安装和配置主管:https://laravel.com/docs/5.8/queues#supervisor-configuration

它将在重新启动EC2或发生队列故障时负责重新启动队列工作器

© www.soinside.com 2019 - 2024. All rights reserved.