Для большинства задач Redis несмотря на все "тонкости" будет лучшим вариантом. Если вы пользуетесь только .apply_async() и запускаете периодические задачи с beat, то здесь будет достаточно Redis. Проще в настройке, да и чаще всего он уже есть в проекте.
Если имеется много разных очередей/задачи с отложенным запуском/большое колличество задач то будет более корректно использовать RabbitMQ.Он больше заточен под работу с очередями.
Согласен насчёт гигантских декораторов, обязательно изучу решение с extensions и постараюсь дополнить статью. В текущем проекте проблему обошли с помощью регионов. По крайней мере в PyCharm можно настроить их отображение. Весь код документации находится вот в такой конструкции: # region api_documentation @extend_schema
@extend_schema_view
# endregion
По умолчанию всегда скрыто и находится под рукой рядом с view. Место не ест, сложнее забыть внести изменения после изменений кода, нагляднее в git, сразу видно что и где поменялось.
Для большинства задач Redis несмотря на все "тонкости" будет лучшим вариантом. Если вы пользуетесь только .apply_async() и запускаете периодические задачи с beat, то здесь будет достаточно Redis. Проще в настройке, да и чаще всего он уже есть в проекте.
Если имеется много разных очередей/задачи с отложенным запуском/большое колличество задач то будет более корректно использовать RabbitMQ.Он больше заточен под работу с очередями.
Согласен насчёт гигантских декораторов, обязательно изучу решение с extensions и постараюсь дополнить статью.
В текущем проекте проблему обошли с помощью регионов. По крайней мере в PyCharm можно настроить их отображение.
Весь код документации находится вот в такой конструкции:
# region api_documentation
@extend_schema
@extend_schema_view
# endregion
По умолчанию всегда скрыто и находится под рукой рядом с view. Место не ест, сложнее забыть внести изменения после изменений кода, нагляднее в git, сразу видно что и где поменялось.