Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Моя огромная образовательная программа про полный цикл разработки веб-приложений на Python: Подключаем Taskiq + RabbitMQ к нашему FastAPI приложению. В отличие от Celery, Taskiq позволяет запускать задачи с asyncio. Помимо этого очевидного плюса у Taskiq ещё много преимуществ: использование аннотаций типов, чтобы нам было легче писать код, улучшенная производительность в сравнении с Celery и Dramatiq, а также интеграции с FastAPI, FastStream, aiohttp, aiogram. В этом видео смотрим на Taskiq + aio-pika, не используем интеграции. === Правки === Лучше и надежнее применять настройки логгинга в стартапе брокера. Для брокеров есть механизм, схожий с lifespan: Так что можно сделать вот так: @broker.on_event(TaskiqEvents.WORKER_STARTUP) async def startup(state: TaskiqState): logging.basicConfig(...) Вот тут изменение в коде: Ещё, в связке с FastAPI лучше использовать taskiq_fastapi. Так можно будет переиспользовать зависимости из FastAPI в тасках. Например, чтобы было удобнее ходить в БД. Похоже, что нужен ещё один ролик по Taskiq 🙂 ====== Ранний доступ к моей новой образовательной программе про полный цикл разработки веб-приложений на Python (скидка по ссылке): Общение и самые свежие анонсы в Телеграм: Телеграм чат для бустеров (любой уровень) Все-все ссылки на все мои площадки: Код тут: Документация: Метки: 00:00 Привет 00:50 Установка 03:22 Подготовка 06:25 Экземпляр 08:30 Настройки 11:03 startup и shutdown 12:47 Задача на отправку письма 23:10 Запуск воркера 26:57 Логирование 30:44 Итоги