Мой вариант использования - добавить несколько очередей использования для разных задач. Чтобы все задачи upload_photos отправлялись в одну очередь, а upload_phone_number - в другую очередь, поскольку задача загрузки - сложная задача, я не хочу, чтобы затронул номер телефона для загрузки. с помощью upload_photos, хотя я использую разные очереди, задача upload_phone_number ожидает выполнения загрузки фотографий. Это правильный способ записи нескольких очередей
CELERY_QUEUES = (
Queue('fast', Exchange('fast'), routing_key='fast'),
Queue('default', Exchange('default'), routing_key='default')
)
CELERY_ROUTES = {
'upload_phone_number': {
'exchange': 'fast'`
'exchange_type': 'direct',
'routing_key': 'fast'
},
'upload_photos': {
'exchange': 'default',
'exchange_type': 'direct',
'routing_key': 'default'
},
}
Это моя задача сельдерея
@app.task(name="upload_phone_number")
def upload_photos():
@app.task(name="upload_phone_number")
def upload_phone():