我正在尝试从Cherrypy转移到Bottle& GEVENT(服务器)。
我跑完之后:
application=bottle.default_app() #bottle
WSGIServer(('', port), application, spawn=None).serve_forever() #gevent
我想重新启动服务器,就像重新加载器重新加载服务器一样(但只有当我告诉服务器时)。 所以我想访问一个带有凭据请求的页面,只有在正确的身份验证后才会重新启动。
这是我在Cherrypy中的功能示例:
@expose
def reloadMe(self, u=None, p=None):
if u=="username" and p=="password":
engine.restart()
raise HTTPRedirect('/')
更简单的是我问我如何重新加载这个脚本,以便我对源文件的编辑实现,但只有当我检索"重启"页面。
我实际上只需要相当于
engine.restart() #cherrypy
没有人知道怎么做吗?
答案 0 :(得分:1)
您可以编写一个小的shell脚本来重启gevent wsgi服务器。
然后使用此代码,您可以调用脚本。
@get('/restartmyserver')
def handler():
http_auth_data = bottle.request.auth() # returns a tuple (username,password) only basic auth.
if http_auth_data[0] == user and http_auth_data[1] == password:
os.system("your_shell_script_to_restart_gevent_wsgi")
bottle.redirect('/')
如果您需要更多信息,请与我们联系。