Колба с автоперезагрузкой и продолжительной резьбой - PullRequest
4 голосов
/ 12 марта 2012

Я реализую длительный поток в приложении Flask. В режиме отладки при активированном перегрузчике долго работающий поток не перезагружается при перезагрузке.

Вместо этого, поскольку код, который создает и запускает поток, запускается после перезагрузки, каждый цикл создает дополнительный поток.

Как я могу предотвратить это, кроме отключения загрузчика?

Произойдет ли то же самое при работе под mod_wsgi с функцией автоматической перезагрузки?

Обновление : Werkzeug при перезагрузке фактически уничтожил долго работающий поток. Существует дополнительная копия, которая связана с тем, что перегрузчик Werkzeug берет дополнительный поток, который выполняет код инициализации.

1 Ответ

3 голосов
/ 13 марта 2012

Перегрузка mod_wsgi описана в:

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

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

...