Laravel Horizon无法执行队列中的任务

发生的问题


horizon.php

'environments' => [
        'production' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['default'],
                'balance' => 'simple',
                'processes' => 10,
                'tries' => 3,
            ],
        ],

        'local' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['default', 'exports', 'kwm430_exports'],
                'balance' => 'simple',
                'processes' => 3,
                'tries' => 3,
            ],
        ],
    ],

.env

APP_NAME=Laravel
APP_ENV=local
QUEUE_DRIVER=redis
CACHE_DRIVER=redis

REDIS_HOST=xxx.redis.rds.aliyuncs.com
REDIS_PASSWORD=xxx
REDIS_PORT=6379
REDIS_SCHEME=tls
REDIS_VERIFY_SERVER_CERT=true

controller

(new AccountExport($account_bank_id, $month, $date->month, $task['id'], $filenDownloadUrl))->queue($filenDownloadUrl, 'public')->allOnQueue('kwm430_exports');

$data = (new JsonResponse(true,[],'成功添加到下载队列,请一小时后到下载列表查看'))->toArray();
return Response()->json($data);

redis用的是阿里的rds,存储什么的都是正常,QUEUE_DRIVER和CACHE_DRIVER也都是用的redis,就是不知道为什么会不执行任务

我去查过,有一篇文章和我的问题是一样的线上环境使用 horizon,不执行任务?,但是文章的回答的说法,proc_open函数也解除禁用了,还是一样不行,horizon.php的environments也是按照.env的APP_ENV去配置的,有大神知道什么原因导致的吗

更新补充说明
我也是本地可以,部署到线上不行
执行下面的命令,也是没有任何输出

sudo /apps/svr/php/bin/php artisan queue:work --queue=kwm430_exports --tries=3

然后我查看服务器进程,的确是有这条进程

阅读 3.5k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题