【发布时间】:2014-08-19 14:36:32
【问题描述】:
我正在使用 Flask 构建 API。
例如,如果我有这样一条 Flask 路由:
@app.route('/api/tasks', methods=['GET'])
@auth.login_required
def tasks():
tasks = g.user.tasks
task_list = []
for t in tasks:
d = {}
d['name'] = t.name
d['id'] = t.id
task_list.append(d)
return jsonify({'tasks':task_list})
变量“tasks”和“task_list”使用的内存会在响应返回后立即释放吗?
在我的情况下,uwsgi 进程似乎没有释放它们用于每个请求的内存,至少似乎它们在每次返回后都没有立即释放。
使用 Flask-SQLAlchemy 扩展从 MySQL 数据库中检索任务。
谢谢!
编辑: 这是我的 uwsgi 配置文件(/etc/flask-uwsgi/flask-uwsgi.ini):
[uwsgi]
master = true
die-on-term = true
processes = 1
threads = 2
logger = file:/var/log/flask-uwsgi/flask-uwsgi.log
我这样称呼它:
uwsgi --socket 127.0.0.1:8080 -w wsgi:app --ini /etc/flask-uwsgi/flask-uwsgi.ini --stats /tmp/statsock --memory-report
【问题讨论】:
标签: python nginx flask uwsgi flask-sqlalchemy