Работник сельдерея выделяет определенное количество параллелей на очередьPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Работник сельдерея выделяет определенное количество параллелей на очередь

Сообщение Anonymous »

У меня есть две задачи сельдерея, которые оба работают на одной и той же модели графического процессора Pytorch для вывода. Из -за ограничений памяти графических процессоров я планирую использовать только один работник, чтобы одна и та же модель была разделена между подпроцессами. Я узнал, что опция -concurrence может использоваться для указания уровня параллелизма, и опция -q может использоваться для указания очередей по потреблению работника. Следующее, 4 потока, созданные сельдереем, потребляют задачи случайным образом без приоритета. < /p>

Код: Выделить всё

celery -A celery_task worker --pool=threads --concurrency=4 -Q A,B,B,B
Задачи определяются как: celery_task.py

Код: Выделить всё

import time
from celery import Celery

app = Celery('tasks', broker='redis://localhost:6379/0')

@app.task(queue="A")
def simulate_long_work():
print("Doing long work")
time.sleep(10)
print("Done long work")
return 'Work completed'

@app.task(queue="B")
def simulate_short_work():
print("Doing short work")
time.sleep(1)
print("Done short work")
return 'Work completed'
, затем внедренная: celery_caller.py

Код: Выделить всё

import celery_task

celery_task.simulate_long_work.apply_async()
celery_task.simulate_long_work.apply_async()
celery_task.simulate_long_work.apply_async()
celery_task.simulate_long_work.apply_async()
celery_task.simulate_short_work.apply_async()
celery_task.simulate_short_work.apply_async()
celery_task.simulate_short_work.apply_async()
celery_task.simulate_short_work.apply_async()
< /code>
Один возможный вывод, обратите внимание на задачу «короткая работа» потребляется до 4-й «длинной работы», даже если они производятся в конце концов, «долгая работа»: < /p>


Подробнее здесь: [url]https://stackoverflow.com/questions/79518944/celery-worker-allocate-specific-number-of-concurrencies-to-queue[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»