0

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('/')

もっと簡単に言えば、ソース ファイルへの編集が実装されるように、このスクリプトをリロードする方法を尋ねていますが、それは「再起動」ページを取得した場合のみです。
文字通り、Bottlepyに相当するものだけが必要です

engine.restart() #cherrypy

誰もこれを行う方法を知りませんか?

4

1 に答える 1

1

小さなシェル スクリプトを記述して、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('/')

さらに情報が必要な場合はお知らせください。

于 2012-06-25T03:36:16.143 に答える