@online_consult777

Как назначить максимальное количество worker-ов для определенного типа задания?

Доброго всем дня!

Каким образом я могу реализовать следующую задачу:

Некоторые типы заданий должны обрабатываться максимум
определенным количеством воркеров

К примеру: в очереди 100 заданий.
20 из них с типом 1, 30 с типом 2, 50 с типом 3.

с типом 1 максимум может работать 10 воркеров
с типом 2 макс 50 воркеров
с типом 3 макс 100 воркеров

В данный момент использую laravel, для очередей redis + horizon.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
@online_consult777 Автор вопроса
Это 100% не покрывает мой кейс, но вдруг кому-то пргодится:
Создается три типа очередей с min и max кол-вом процессов.

'environments' => [
    'production' => [
        'supervisor-1' => [
            'connection' => 'redis',
            'queue' => ['queue-one'],
            'balance' => 'auto',
            'minProcesses' => 1,
            'maxProcesses' => 10,
            'tries' => 3,
        ],
        'supervisor-2' => [
            'connection' => 'redis',
            'queue' => ['queue-two'],
            'balance' => 'auto',
            'minProcesses' => 1,
            'maxProcesses' => 5,
            'tries' => 3,
        ],
        'supervisor-3' => [
            'connection' => 'redis',
            'queue' => ['queue-three'],
            'balance' => 'auto',
            'minProcesses' => 1,
            'maxProcesses' => 1,
            'tries' => 3,
        ],
    ],
],
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы