【发布时间】:2018-05-29 19:54:12
【问题描述】:
自从我将 Laravel 应用程序从 5.4 升级到 5.5 并添加了 Laravel Horizon,我的队列不再工作了。这是有效的旧情况:
我使用的驱动程序是 Beanstalkd 和 Supervisord,用于监控任务并使其保持正常运行。我使用以下命令运行它:
php artisan queue:work --tries=1 --queue=high,medium,low
新情况:我已将队列驱动程序更新为 Redis。当我查看 mydomain.com/horizon 时,我看到了进来但未处理的任务。从终端运行以下命令也不起作用:
php artisan queue:work --tries=1 --queue=high,medium,low
我有 2 个队列已满,Redis 队列和 Beanstalkd 队列。如何完成 Beanstalkd 队列,然后处理 Horizon 队列?
【问题讨论】:
-
当您运行 php artisan queue:work 而不指定连接时,它只会使用默认连接 - 我假设您的 beanstalk 和 redis 驱动程序有单独的连接条目。您可以使用 php artisan queue:work beanstalk 或 php artisan queue:work redis 指定连接(无论您的连接被称为什么)
-
.... 连接应该在 config/queue.php
-
您是否尝试过将驱动程序指定为命令的一部分? php artisan queue:work redis --queue=whatever
-
... 你的 .env 应该有默认的队列驱动程序,即。 QUEUE_DRIVER=redis
-
@aarcarr 我试过了。 php7 artisan queue:listen beanstalkd --tries=1 --queue=high,medium,low,default 但没有任何输出。我还配置了我的 .env 文件
标签: php laravel laravel-horizon