#faststream — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #faststream, aggregated by home.social.
-
Как мы переписывали логику очередей: Celery => aio-pika => FastStream
Наш путь активной работы с очередями RabbitMQ начался с классического Celery. Осознав критичность низкоуровневого контроля системы, принялись работать с aio-pika. Но и этот уровень слишком местами сложный (далее расскажу почему), и нашли отличное решение, на текущий момент, в лице FastStream. Сразу оставлю такую пометку, что каждый инструмент подходит для решения своей задачи. Мы больше хотели сделать акцент на удобство и скорость разработки относительно затрачиваемого времени на миграции решений. N.B. : Код возможно покажется неоптимальным или старым. Это всё наш дорогой Легаси.
-
Как мы переписывали логику очередей: Celery => aio-pika => FastStream
Наш путь активной работы с очередями RabbitMQ начался с классического Celery. Осознав критичность низкоуровневого контроля системы, принялись работать с aio-pika. Но и этот уровень слишком местами сложный (далее расскажу почему), и нашли отличное решение, на текущий момент, в лице FastStream. Сразу оставлю такую пометку, что каждый инструмент подходит для решения своей задачи. Мы больше хотели сделать акцент на удобство и скорость разработки относительно затрачиваемого времени на миграции решений. N.B. : Код возможно покажется неоптимальным или старым. Это всё наш дорогой Легаси.
-
Как мы переписывали логику очередей: Celery => aio-pika => FastStream
Наш путь активной работы с очередями RabbitMQ начался с классического Celery. Осознав критичность низкоуровневого контроля системы, принялись работать с aio-pika. Но и этот уровень слишком местами сложный (далее расскажу почему), и нашли отличное решение, на текущий момент, в лице FastStream. Сразу оставлю такую пометку, что каждый инструмент подходит для решения своей задачи. Мы больше хотели сделать акцент на удобство и скорость разработки относительно затрачиваемого времени на миграции решений. N.B. : Код возможно покажется неоптимальным или старым. Это всё наш дорогой Легаси.
-
Как мы переписывали логику очередей: Celery => aio-pika => FastStream
Наш путь активной работы с очередями RabbitMQ начался с классического Celery. Осознав критичность низкоуровневого контроля системы, принялись работать с aio-pika. Но и этот уровень слишком местами сложный (далее расскажу почему), и нашли отличное решение, на текущий момент, в лице FastStream. Сразу оставлю такую пометку, что каждый инструмент подходит для решения своей задачи. Мы больше хотели сделать акцент на удобство и скорость разработки относительно затрачиваемого времени на миграции решений. N.B. : Код возможно покажется неоптимальным или старым. Это всё наш дорогой Легаси.
-
Как я реализовал Blue-Green деплой с нулевым даунтаймом на Docker Compose
Недавно я внедрил blue‑green деплой в проде. Реализация довольно простая и кастомная, но справляется со своей задачей на ура! Также сообщу, что используется обычный докер композ на виртуалке — возможно, кому‑то такой подход будет полезен. Для фоновых процессов (воркеров) В приложение добавляется специальный инфрастуктурный singleton класс с флагом is_accepting, и обертка на consumers. В каждом консьюмере перед обработкой проверяем этот флаг: если True — обрабатываем задачу, если False — переносим задачу на повторную обработку (например, в rabbitmq делаем сразу nack(requeue=true))
https://habr.com/ru/articles/1025776/
#bluegreen_deployment #zero_downtime #dockercompose #cicd #rabbitmq #kafka #faststream #celery
-
FastStream has OpenSubtitles search built-in. I tried several with Plex Tai Chi Master but they were all off.
Now I know how to adjust their timing in FastStream, I'll try again if I find another film without subs, or with bad subs (the subs for Ossessione 1943 on Plex are terrible in BOTH English & Italian)
-
Watched Throne of Blood on Plex yesterday. Subs were available in Plex player, but 1.5-2 seconds late. So I fired up FastStream & used its sub timing arrows. Problem solved! 👍
Took some screenshots using the inbuilt tool, but can't find them for the life of me 😆
-
Watched Throne of Blood on Plex yesterday. Subs were available in Plex player, but 1.5-2 seconds late. So I fired up FastStream & used its sub timing arrows. Problem solved! 👍
Took some screenshots using the inbuilt tool, but can't find them for the life of me 😆
-
Watched Throne of Blood on Plex yesterday. Subs were available in Plex player, but 1.5-2 seconds late. So I fired up FastStream & used its sub timing arrows. Problem solved! 👍
Took some screenshots using the inbuilt tool, but can't find them for the life of me 😆
-
Watched Throne of Blood on Plex yesterday. Subs were available in Plex player, but 1.5-2 seconds late. So I fired up FastStream & used its sub timing arrows. Problem solved! 👍
Took some screenshots using the inbuilt tool, but can't find them for the life of me 😆
-
Watched Throne of Blood on Plex yesterday. Subs were available in Plex player, but 1.5-2 seconds late. So I fired up FastStream & used its sub timing arrows. Problem solved! 👍
Took some screenshots using the inbuilt tool, but can't find them for the life of me 😆
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Телеграм-бот для бронирования столов на вебхуках: FastAPI, Aiogram Dialog, FastStream и RabbitMQ в единой экосистеме
В этой статье мы создадим функционального Telegram-бота для бронирования столиков в ресторане «Binary Bites» с использованием современных Python-инструментов. Бот будет работать через вебхуки, взаимодействовать с брокером сообщений RabbitMQ и поддерживать фоновое выполнение задач с помощью FastStream и APScheduler. Проект объединит FastAPI, SQLAlchemy, Alembic, Uvicorn и другие библиотеки, обеспечивая гибкость и масштабируемость. Готовый бот позволит пользователям бронировать столики, просматривать и отменять брони, а администраторам — управлять заказами.
https://habr.com/ru/companies/amvera/articles/882878/
#fastapi #rabbitmq #брокер_сообщений #aiogrram #aiogram_dialog #faststream #телеграм_бот #telegram_bot #telegram_bots #sqlalchemy_20
-
FastStream — новый убийца Celery?
FastStream - это относительно новая блестящая игрушка в руках Python'истов, которая создана специально для работы с брокерами сообщений. В Python сложилось устойчивое убеждение, что если мы работаем с MQ - то нам нужен Celery , но он слегка устарел. Именно поэтому люди пытаются выкинуть "деда" и затащить вместо него любой новый многообещающий MQ-инструмент. Кроме того, культ Celery настолько силен в умах, что практически все новые библиотеки для работы с MQ пытаются стать его "убийцей" и заменой. Однако, это не совсем верно. Существует огромный пласт проектов, которым нужен не фреймворк для менеджмента задач, а просто "голый" функционал Kafka / RabbitMQ / NATS /whatever для межсервисного взаимодействия. И все эти проекты вынуждены довольствоваться "сырыми" python-клиентами к своим брокерам, а всю обвязку вокруг этих клиентов писать самостоятельно. FastStream целится как раз в эту нишу. В рамках статьи я хочу убедить вас, что не Celery мы едины, и для альтернативных инструментов найдется место под солнцем. А также рассмотрим фичи FastStream , которые он привносит в застоявшийся мир MQ-инструментов.
https://habr.com/ru/articles/822505/
#python #faststream #open_source #микросервисы #брокер_сообщений #webразработка #kafka #rabbit #nats #redis
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
Фоновые асинхронные задачи в FastAPI и их мониторинг
Привет! Меня зовут Иван, я бэкенд-разработчик в KTS. Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus. В туториалах для фоновых задач в FastAPI обычно предлагают celery и при этом используют синхронный код. Но сегодня в реальной практике такое встречается редко, поэтому в этой статье я покажу, как в фоновых задачах использовать асинхронный код. В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery. В конце расскажу, как мониторить фоновые задачи. Оглавление
https://habr.com/ru/companies/kts/articles/816757/
#fastapi #faststream #celery #locust #prometheus #arq #saq #grafana