TGViewer
Cododel.dev | Александр Cododel.dev | Александр @cododel_dev · 228 subscribers
Post #244 159
🔗 Chainable async Python Queue Runner

Честно - мне сложно по-русски коротко назвать утилити)
Это инструмент очень сильной абстракции, использовать только в редких случаях!

Если в проекте удобно сначала собрать очередь задач, а только затем их последовательно запустить, а у меня такая ситуация и случилась, то предлагаю этот Gist

• Создаем объект QueueRunner
• Затем через метод .task - передаем в него аасинхронную функцию
• Если нужны аргументы, то чейним, как в некоторых конструкциях JavaScript следующий метод .args, и в него передаем требуемые аргменты для функции "Как есть".
Этот метод запишет в класс QueueTask аргументы для последней добавленной задачи
• Чтобы добавить новую задачу - достаточно так же чейном вызвать снова ту же последовательность, либо на объекте, сохраненном в переменной

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

И под конец вызвать асинхронный метод .run, который выполнит все сохраненные задачи последовательно.

Это позволяет построить достаточно сильную абстракцию, пихать где попало не стоит)
Но если у вас более 500 строк кода, в котором можно выделить явные последовательные блоки логики, при том некоторые из них условные (выполняются при соблюдении условий в операторе if), то вполне может пригодиться данная фишка)

🖼️ Gist
  • ❤ 1
More from @cododel_dev
  1. Sep 30, 2026OpenAI: Мы порезали лимиты в 2 раза, и релизнули Dot ботов на Astra High Me: найди мем
  2. Sep 30, 2026Выехал из дома на велике Дорогу назад помню слабо. Единственный минус телефона по итогу -…
  3. Sep 21, 2026Ого какие вакансии бывают Больше удивлен что предложения на почти пустой линкдин приходят…
  4. Sep 15, 2026Все что нужно знать сегодня о “Работать будет только на английском” 😐
  5. Sep 15, 2026Post #1153
  6. Sep 14, 2026200 🤝 Всех новоприбывших обнял-приподнял Умного пока ничего не придумал, чем хотел бы сро…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →