TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #4147 2.63K
Hot Module Reloading для вашего проекта на WSGI

Тоже надоело перезапускать бота в командной строке при каждом изменении кода?

Традиционные инструменты, такие как uvicorn --reload или gunicorn --reload, при любом изменении кода полностью перезапускают сервер. Это может занимать целую вечность, если проект крупный.

Одна команда реализовала такую перезагрузку «на месте» с помощью Dependency Graph. При изменении файла система определяет все связанные с ним модули и обновляет только их.

Используя карту зависимостей и отслеживание порядка импорта, удалось сократить время обновления с 4,8 секунды до 6 миллисекунд.

✍️ — бывало, подбешивало
🗿 — ну и пускай перезагружается с нуля

#факт
@zen_of_python
  • 🗿 10
  • 👎 3
  • 🤝 1
More from @zen_of_python
  1. Sep 28, 2026Как коллизии превращают построение set в Python в квадратичную задачу Привычное O(1) для s…
  2. Sep 28, 2026Как проверять инварианты Python-кода с Hypothesis Обычный тест фиксирует конкретный ввод и…
  3. Sep 27, 2026Как запускать собственный SQL через миграции Django У models.Index нашлось необычное приме…
  4. Sep 27, 2026Как разделить синхронный и асинхронный Python-клиенты При переписывании akismet автор отка…
  5. Sep 27, 2026Как заменить цепочку isinstance на singledispatch Когда обработка типов разрастается, цепо…
  6. Sep 26, 2026Как собирать динамические фильтры Django через Q-объекты Q() представляет условие для SQL-…
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 →