微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。