Мои задачи с сельдереем через rabbitMQ не добавляются в указанный мной запрос.
Я определил очереди во время выполнения и в celery.conf.update
и когда я вызываю функцию через apply_async()
Выполнение задачи:
celery -A celery_worker worker -Q stubs_router --loglevel=info -n celery_worker_01@%h --autoscale=10,4
Определение функции и обновление очереди celery_worker.py:
CELERY_RESULT_BACKEND = 'rpc://'
celery = Celery('celery_worker', broker=CELERY_BROKER_URL, backend=CELERY_RESULT_BACKEND)
celery.conf.update({ 'task_routes':{'tasks.stubs_rtr_take' : {'queue':'stubs_router'}}})
@celery.task()
def stubs_rtr_take(json_take_obj):
result = json_take_obj
return result
Вызов функции из колбы:
result = stubs_rtr_take.apply_async(queue='stubs_router',args=[json_take_obj])
while not result.ready():
time.sleep(0.1)
z = result.get() # not asynch
return z, 200
Код выполняет функцию OK в rabbitmq, но эти задачи появляются не в очереди stubs_router
, а в общей автоматически сгенерированной очереди 233786ad-697d-3968-a621-c8927d6b5b2c