Комментарии 11
asyncio
не даст настоящей параллельности,
Для ожидания ответа параллельность не нужна
API — внешняя, я всё равно просто жду ответ.
Вердикт: не подходит.
Чушь полная: asyncio был придуман специально для ожидания ответов
Это уже ближе —
multiprocessing
создаёт настоящие процессы.Идеально для I/O-задач, которые не грузят CPU.
Чушь полная: создавать дорогостоящие процессы, которые ничего не делают — максимально бессмысленная трата ресурсов, поэтому вместо них придумали asyncio
интересно.., спасибо за фидбек, поизучаю глубже и может сделаю апдейт
Я немного подразобрался в тех местах на которые вы оставили комент и вполне согласен с критикой)
Основная вся причина использования селери заключалась в том что я не писал все с 0, а делал рефакторинг кода и большая часть его была синхронной что на асинк было бы долго переписать и дороже чем выделеный мне бюджет (фриланс <3)
Это отражение того, насколько реально разработчики понимают асинхронное программирование в 2025.
До сих пор - почти никак.
Хочешь — могу нарисовать схемку (как идёт запрос → очередь → воркер → API → ответ) или таблицу сравнения режимов исполнения. Нужно? - статейку дипсиком писали?
Celery отвратительно написан. Я не знаю как называется дизайн, но его невозможно читать, и из-за обилия рефлексии по нему нельзя ходить статическими анализаторами. Мне как-то нужно было понять почему с отключенным префетчем, воркеры продолжают выгребать лишнее из редиса - я не осилил сырцы. Вывод: перспективы развития и долгосрочной поддержки сомнительны.
сяпки, а че используешь как альтернативу? я тоже планирую сделать аналитическую систему над селери, какие проблемы с этим подскажи плиз буду благодарен
Вам нужен asyncio.gather()
но точно не multiprocessing
Странно что с asyncio у автора не получилось, видимо call_api
вызывался в цикле с await, иначе как объяснить такой результат?
Как и когда использовать Celery — мой опыт на проде