DevGang
Авторизоваться

Динамическая маршрутизации задач в Celery

В нашем предыдущем посте в блоге мы рассмотрели пользовательские очереди и маршрутизацию задач. Для каждой задачи нам приходилось настраивать, к какой очереди мы хотим, чтобы Celery поставил маршрут. Хотя этот подход хорошо работает для простой настройки, он не подходит для приложений и микросервисов, где многие задачи Celery необходимо направлять в различные рабочие очереди.

Маршрутизация задача в Celery

По умолчанию Celery направляет все задачи в одну очередь, и все обработчики, по умолчанию, используют эту очередь. С очередями Celery вы можете контролировать, какие задачи выполняются обработчиками Celery. Это может быть полезно, если у вас есть разные по скорости выполнения задачи, и вы хотите, чтобы медленные задачи не мешали выполнению быстрым. Или если вам нужно отправить какуюто задачу из одного микросервиса в другой.

Тестирование цепочек Celery

Цепочки Celery позволяют вам модульно оформить ваше приложение и повторно использовать общие задачи. Классическим примером использования является система рыночных данных.

Python Flask: отправляем файлы и данные формы из одного сервиса в другой

Недавно понадобилось отправить файлы и данные формы из одного сервиса в другой. Задача кажется тривиальной до тех пор пока с ней не столкнешься. Я использовал для отправки запросов библиотеку requests, что из этого получилось ниже в статье

Flask + CKEditor: загрузка и просмотр изображений

Для блога понадобилось подключить wysiwyg редактор и первым решил попробовать Trumbowyg, простой и легкий редактор, но как и большинство подобных с одним недостатком. При вставке скопированного из ворда текста, в html добавляется очень много лишнего мусор. Ну и в копилку, мало плагинов для работы с текстом.

Flask, WTForms: валидируем reCAPTCHA на сервере

Довольно часто требуется подключить reCAPTCHA в свои приложения и валидировать формы, с учотом введеной капчи.

SQLAlchemy и Flask-Admin: теги для записей со связь Many to Many

Для нашего блога решил добавить теги, чтобы похожие записи было проще искать и вообще это модно сейчас. Ранее использовал обычный массив с ForeignKey, и это работает, но... Всегда есть но, в Flask-Admin для того чтобы появился мультиселект с вариантами из другой таблички этого уже недостаточно.

Flask Admin: загрузка файлов и обработка формы в модели

Мне довольно часто требуется кастомизировать базовую модель Flask Admin для того чтобы например загружать изображения. В интернете есть довольно много примеров как сделать загрузку файлов через `flask_admin.form.upload`, но он не дает полного контроля над происходящим и если потребуется сделать что-то более сложное, придется импровизировать.

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

В этом месте могла бы быть ваша реклама

Разместить рекламу