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

不知道为什么,本地环境好好的,代码搬到服务器上,队列就无法执行了
这是.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是可以运行的。咋个回事??求解啊??

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1

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

·
·
'testing' => [
    'supervisor-1' => [
        'connection' => 'redis',
        'queue' => ['default'],
        'balance' => 'simple',
        'processes' => 3,
        'tries' => 3,
    ],
],
·
·
1周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!