Перезапуск Python + Tornado после редактирования файлов

Я просто начинаю изучать Python + Tornado для своих веб-серверов. Каждый раз, когда я изменяю какой-либо код в своих скриптах или шаблонах python, я должен остановить в своем терминале (CTRL+C) и перезапустить его (python server.py) и мне нужен более эффективный способ сделать это, чтобы после изменения кода в некоторых файлах сервер автоматически перезагружался.

ранее я работал с NodeJS и использовал supervisor для этого.

также есть способ перезагрузить вкладку в Google Chrome, чтобы я мог видеть изменения без перезагрузки (F5)

В настоящее время я использую Ubuntu 11.10 и Sublime Text 2 и использую CTRL+B на sublime text, но если сервер уже запущен, генерирует ошибку, потому что адрес и порт используются. Существует исправление для этого без изменения порта.

спасибо.

2 ответов


Если вы ищете автоматическую перезагрузку .py файлы во время разработки. В tornado.web.Application() поставить debug=True после ваших обработчиков.

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


вам нужно повернуть autoreload on:

tornado.autoreload.start()
tornado.autoreload.watch('myfile')

полный пример в https://gist.github.com/renaud/10356841