Laravel 地平线将所有内容置于待处理状态

问题描述

我和主管一起跑地平线,但后来杀死了主管,我只是在跑步

PHP artisan horizon

我有 2 个队列和两个单独的主管。这是地平线配置。

    'defaults' => [
        'logger' => [
            'connection' => 'redis','queue' => [env('QUEUE_DEFAULT','{default}')],'balance' => 'simple','maxProcesses' => 1,'memory' => 128,'tries' => 2,'timeout' => 30,'nice' => 0,],'scheduler' => [
            'connection' => 'redis','queue' => [env('QUEUE_SCHEDULE','{schedule}')],'tries' => 3,'nice' => 1,'environments' => [
        'production' => [
            'logger' => [
                'maxProcesses' => 3,'balanceMaxShift' => 1,'balanceCooldown' => 3,'memory' => 256
            ],'scheduler' => [
                'maxProcesses' => 2,'develop' => [
            'logger' => [
                'maxProcesses' => 2,'balanceCooldown' => 3
            ],'local' => [
            'logger' => [
                'maxProcesses' => 2,'scheduler' => [
                'maxProcesses' => 3,

在开发环境上进行测试时,Horizo​​n 会随机处理认队列中的一项作业。认队列保存由排队事件侦听器推送的作业,它只将日志写入文件。 它随机工作并处理一项工作,然后一切都进入待处理状态,从未处理过。 如果我跑

PHP aritsan horizon:terminate

然后重新启动地平线,有时它会处理 1 个作业,然后再次开始将所有内容置于待处理状态。

这是我的 redis 队列和数据库配置。

'redis' => [
            'driver' => 'redis','connection' => 'default','queue' => env('QUEUE_DEFAULT','{default}'),'retry_after' => 900,'block_for' => null,DB:

    'redis' => [

        'cluster' => true,'client' => env('REdis_CLIENT','predis'),'options' => [
            'cluster' => env('REdis_CLUSTER','redis'),'clusters' => [
            'default' => [
                [
                    'scheme'   => env('REdis_SCHEME','tcp'),'host'     => env('REdis_HOST','127.0.0.1'),'password' => env('REdis_PASSWORD',null),'port'     => env('REdis_PORT',6379),'database' => env('REdis_DATABASE',1),

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)