My python flask
приложение запускается с использованием nohup
.т.е. это всегда вживую.Я вижу, что он создает поток каждый раз, когда пользователь отправляет со страницы.Это потому, что flask.run с multithread=true
.Но моя проблема в том, что даже после окончания обработки поток, похоже, не закрывается.Я проверяю это с помощью команды ps -eLf |grep userid
.где я вижу много потоков, все еще активных еще долго после выполнения кода.и он добавляется, когда делается еще одна отправка.Все потоки удаляются при перезапуске самого приложения.
По каким критериям ветка закрывается без перезапуска приложения?
Многие сообщения, такие как эти предполагают gc.collect
, del object
и т. Д. У меня естьмногие пользовательские классы создаются при отправке.и один объект относится к другому.Так
это потому, что память не освобождается?
Должен ли я использовать gc.collect
или del objects
?Питоны должны очистить эти объекты после того, как scope
переменной закончится.это правильно?
app = Flask(__name__)
@app.route('/submit',methods = ['GET','POST'])
def submit():
#obj1=class1()
#obj2=class2(obj1)
#obj3=class3(obj1)
#refer objects
#process data
#done
if __name__ == "__main__":
app.run(host='0.0.0.0', port=4000, threaded=True, debug=False)