在我的Virtualenv创建了一个“Hello,World!” webapplication测试Gunicorn。
这是我正在使用的代码:
def app(environ, start_response):
data = "Hello, World!\n"
start_response("200 OK", [
("Content-Type", "text/plain"),
("Content-Length", str(len(data)))
])
return iter([data])
当我访问(http://127.0.0.1:8000)时,它清楚地输出:“你好,世界!”应该这样做。但是,一旦我将数据字符串更改为:data = "This is an edit!"
并刷新浏览器,它仍会显示:“Hello,World!”。我的结论;在我改变代码中的某些内容后,我似乎每次都要重新启动Gunicorn,这在开发环境中工作时真的很痛苦。
有没有办法解决这个问题?
当我执行cat命令时,它会正确显示代码:
(web)sl@cker:~/Envs/web/myapp$ cat myapp.py
def app(environ, start_response):
data = "This is an edit!"
start_response("200 OK", [
("Content-Type", "text/plain"),
("Content-Length", str(len(data)))
])
return iter([data])
我使用此命令启动服务器:gunicorn -w 4 myapp:app
答案 0 :(得分:1)
你需要重新加载gunicorn,因为它仍然持有myapp.pyc,它不再与myapp.py相同。
See here关于modwsgi如何做到这一点,你可能会在那里找到答案。