Как стать автором
Обновить
12
0

Разработчик

Отправить сообщение
Хороший вопрос. Действительно, можно указать базовый класс для таска. Проблема однако в том, что:
  1. Проблему бойлерплейта он не решает
  2. Я боялся нарваться на коллизию имён. Хотелось отделить логику задачи от логики celery
  3. Минусы вы назвали сами. Частно говоря, вы их назвали больше, чем я знал
  4. И вкусное: а мой подход не запрещает их комбинировать
О, интересная ссылочка

> ООП дело вкуса, просто всего один метод в классе…

Так в том и дело, что не один. Я упираю на множественное наследование. Один (опять же, это слабодостижимый идеал. Чаще несколько) метод требуется до или переопределить и скомбинировать остальные.

Ага, то есть и и модули, и абстракции. Так, а какие претензии к kombu? Свести под одну гребёнку разные шины сообщений — это же прекрасно. А чем billiard провинился? Получилась хорошая абстракция и по факту основа для построения кластера. Beat же вообще опциональный. Для одного воркера можно передать флаг -B — и beat будет встроен в воркер. Естественно, для нескольких экземпляров воркеров нельзя встраивать beat, иначе копии тасок станут исполняться на каждой ноде. Во весело запустить одновременно несколько сессий бэкапа БД.

А вообще к beat у меня персональный пунктик. Вот есть же kombu под капотом. Но нет — расписания мы способны подхватить лишь при старте. Выкручивался пакетом redisbeat, благо, брокером использовался как раз redis. Там кстати смешной баг был. Ну как смешной, стул тогда подо мной прогорел
> Странно, что мейнтейнеры согласились включить это в репозиторий

Да вот до сегодняшнего дня там просто висела лычка «Milestone 4.5». Сегодня пол дня рассказывал, что это и зачем это. Пока туго, придётся тестовый проект писать

> уж так ли это необходимо?

У меня есть аналогия — ООП. Дело в том, что без ООП можно реализовать что угодно — сишные структурки в помощь. Однако почему-то ООП является наиболее популярной парадигмой, хотя, казалось бы, так ли это необходимо?

> из наиболее интересных это прекращение поддержки Redis как брокера

Странно, документация говорит, что redis поддерживается в качестве брокера. Можно подробнее?

> Внутренности celery и его обвязок тоже не сахар (видел, исправлял, пытался доработать) и как это всё стабилизируется непонятно.

Да, хорошо видно, что celery писался разными людьми. Одного посещала муза, другого нет
А что вы вкладываете в слово `обвязки`? Модули? Или уровни абстракции?

А вообще celery нужен хороший рефакторинг. Каким образом взаимодействуют пул и хаб я пока не понял, поэтому мой asyncio-пул — это пока скорее костыль, нежели решение.
12 ...
16

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Fullstack Developer
Senior
Git
Linux
SQL
Python
OOP
MySQL
PostgreSQL
Docker
Nginx
High-loaded systems