线上环境使用 horizon,不执行任务?

不知道为什么,本地环境好好的,代码搬到服务器上,队列就无法执行了
这是.env文件:

APP_ENV=testing
.
.
.

CACHE_DRIVER=redis
QUEUE_DRIVER=redis
.
.
.
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=123456789
REDIS_PORT=6379
.
.
.

这是config/horizon.php文件:

<?php

return [
    'use' => 'default',
    'prefix' => env('HORIZON_PREFIX', 'horizon:'),
    'waits' => [
        'redis:default' => 60,
    ],
    'trim' => [
        'recent' => 60,
        'failed' => 10080,
    ],
    'environments' => [
        'testing' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['default','email'],
                'balance' => 'simple',
                'processes' => 6,
                'tries' => 3,
            ],
        ],
    ],
];

horizon界面截图:
file
file
控制器推送列队:
file
按理说在config/horizon.php文件中配置了 'queue' => ['default','email'],应该就可以了,但是启动后一直无法执行列队中的任务,这是我本地的horizon仪表盘截图:
file
可以看到线上的仪表盘中并没有Current Workload模块。而且直接执行php artisan queue:work --queue=email是可以运行的。咋个回事??求解啊??

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

config/horiozn.php 配置文件中添加与当前 APP_ENV 环境对应的配置项即可

·
·
'testing' => [
    'supervisor-1' => [
        'connection' => 'redis',
        'queue' => ['default'],
        'balance' => 'simple',
        'processes' => 3,
        'tries' => 3,
    ],
],
·
·
5年前 评论
williamQian 3年前
siiiyaa 2年前
讨论数量: 4

config/horiozn.php 配置文件中添加与当前 APP_ENV 环境对应的配置项即可

·
·
'testing' => [
    'supervisor-1' => [
        'connection' => 'redis',
        'queue' => ['default'],
        'balance' => 'simple',
        'processes' => 3,
        'tries' => 3,
    ],
],
·
·
5年前 评论
williamQian 3年前
siiiyaa 2年前

不知道这个问题你是怎么解决的,我在测试环境也遇到了同样问题

3年前 评论

怎么解决的,我在正式环境也碰到这个问题

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!