0

我升级Laravel version from 7 to 8SupervisorCtl. 每次重新启动后,一切正常,但所有那些balance=auto20 to 26 hours. 日志中没有错误/警告,也没有追踪问题的线索。

我的 Web 服务器(Ubuntu 18.04 Lts)包含php 7.3 ApacheRAM 为 78GB,占用的 RAM 最大约为 35GB,因此不存在内存泄漏问题。

以下是我的 Horizo​​n 和 SupervisorCtl 的配置

地平线配置

[program:laravel_horizon]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/pmdu58/artisan horizon
autostart=true
autorestart=true
redirect_stderr=true
user=www-data
stdout_logfile=/var/www/html/pmdu58/storage/logs/horizon.log

地平线配置

<?php

use Illuminate\Support\Str;

return [

    'domain' => null,
    'path' => 'horizonpmdu',
    'use' => 'default',
    'prefix' => env(
        'HORIZON_PREFIX',
        Str::slug(env('APP_NAME', 'laravel'), '_').'_horizon:'
    ),

//    'middleware' => ['web'],
    'middleware' => ['horizoncheck'],
    'waits' => [
        'redis:default' => 60,
    ],

    'trim' => [
        'recent' => 1000, //16.6 Hour
        'pending' => 14400, //3days
        'completed' => 1000, //16.6 Hour
        'recent_failed' => 10080,
        'failed' => 10080,
        'monitored' => 10080,
    ],

    'metrics' => [
        'trim_snapshots' => [
            'job' => 100,
            'queue' => 100,
        ],
    ],

    'fast_termination' => false,

    'memory_limit' => 64,

    'defaults' => [
        'supervisor-1' => [
            'connection' => 'redis',
            'queue' => ['default','generate-smsapi-token','logs-citizen-login'],
            'balance' => 'simple',
            'minProcesses'=>1,
            'maxProcesses'=>100,
            'balanceMaxShift'=>10,
            'balanceCooldown'=>3,
            'tries' => 3,
            'nice' => 0,
        ],


        'supervisor-3' => [
            'connection' => 'redis',
            'balance' => 'auto',
            'queue' => ['reset-code-emails','web-password-reset-emails','verification-code-email','pcp-welcome-email','complaint-action-taken-email'],
            'minProcesses'=>1,
            'maxProcesses'=>100,
            'balanceMaxShift'=>10,
            'balanceCooldown'=>3,
            'tries' => 3,
            'nice' => 0,
        ],
        'supervisor-4' => [
            'connection' => 'redis',
            'balance' => 'auto',
            'queue' => ['verification-code-pn','send-android-push-notifications','send-ios-push-notifications','mbalert_incidents','citizen_profile_updated'],
            'minProcesses'=>1,
            'maxProcesses'=>100,
            'balanceMaxShift'=>10,
            'balanceCooldown'=>3,
            'tries' => 1,
            'nice' => 0,
        ],
        'supervisor-6' => [
            'connection' => 'redis',
            'queue' => ['reset-code-sms','pcp-welcome-sms','verification-code-sms','verification-code-mobile'],
            'balance' => 'auto',
            'minProcesses'=>1,
            'maxProcesses'=>100,
            'balanceMaxShift'=>4,
            'balanceCooldown'=>2,
            'tries' => 3,
            'nice' => 0,
        ]


    ],

    'environments' => [
        'production' => [
            'supervisor-1' => [
                'tries' => 3,
                'nice' => 2,
            ],
            'supervisor-2' => [
                'connection' => 'redis',
                'queue' => ['send-image-faceapp','complaintByDept_level_master'],
                'balance' => 'simple',
                'minProcesses'=>1,
                'maxProcesses'=>50,
                'balanceMaxShift'=>5,
                'balanceCooldown'=>3,
                'tries' => 3,
                'nice' => 0,
            ],
            'supervisor-3' => [
                'tries' => 3,
                'nice' => 0,
            ],
            'supervisor-4' => [
                'tries' => 3,
                'nice' => 0,
            ],
            'supervisor-5' => [
                'connection' => 'redis',
                'queue' => ['new-complaint-created'],
                'balance' => 'simple',
                'minProcesses'=>1,
                'maxProcesses'=>5,
                'balanceMaxShift'=>1,
                'balanceCooldown'=>1,
                //'processes' => 5,
                'tries' => 3,
                'nice' => 0,
            ],
            'supervisor-6' => [
                'connection' => 'redis',
                'queue' => ['reset-code-sms','pcp-welcome-sms','verification-code-sms','verification-code-mobile'],
                'balance' => 'auto',
                'minProcesses'=>1,
                'maxProcesses'=>100,
                'balanceMaxShift'=>4,
                'balanceCooldown'=>2,
                'nice' => 0,
            ]
        ],

        'local' => [
            'supervisor-1' => [
                'tries' => 3,
                'nice' => 0,
            ],
            'supervisor-2' => [
                'connection' => 'redis',
                'queue' => ['send-image-faceapp','complaintByDept_level_master'],
                'balance' => 'simple',
                'minProcesses'=>1,
                'maxProcesses'=>50,
                'balanceMaxShift'=>5,
                'balanceCooldown'=>3,
                'tries' => 3,
                'nice' => 0,
            ],
            'supervisor-3' => [
                'connection' => 'redis',
                'queue' => ['reset-code-emails','web-password-reset-emails','verification-code-email','pcp-welcome-email','complaint-action-taken-email'],
                'balance' => 'auto',
                'minProcesses'=>1,
                'maxProcesses'=>100,
                'balanceMaxShift'=>10,
                'balanceCooldown'=>3,
                'tries' => 2,
                'nice' => 2,
            ],
            'supervisor-4' => [
                'connection' => 'redis',
                'queue' => ['verification-code-pn','send-android-push-notifications','send-ios-push-notifications','mbalert_incidents','citizen_profile_updated'],
                'balance' => 'auto',
                'minProcesses'=>1,
                'maxProcesses'=>100,
                'balanceMaxShift'=>10,
                'balanceCooldown'=>3,
                'tries' => 1,
                'nice' => 0,
            ],
            'supervisor-5' => [
                'connection' => 'redis',
                'queue' => ['new-complaint-created'],
                'balance' => 'simple',
                'minProcesses'=>1,
                'maxProcesses'=>5,
                'balanceMaxShift'=>1,
                'balanceCooldown'=>1,
                //'processes' => 5,
                'tries' => 3,
                'nice' => 0,
            ],
            'supervisor-6' => [
                'connection' => 'redis',
                'queue' => ['reset-code-sms','pcp-welcome-sms','verification-code-sms','verification-code-mobile'],
                'balance' => 'auto',
                'minProcesses'=>1,
                'maxProcesses'=>100,
                'balanceMaxShift'=>4,
                'balanceCooldown'=>2,
                'nice' => 0,
            ]
        ],
    ],
];
4

0 回答 0