1

誰かが私にさまざまなアプリのステータスコマンドを実行するPythonスクリプトをWeb拡張するのを手伝ってくれるでしょうか。

/app/app1/bin/status.sh
/app/app2/bin/status.sh

スクリプトのcheck()関数は、ハッシュを作成します。

results = check_function()

results['app1']['status'] = 'running'
results['app2']['status'] = 'stopped'

私の現在の解決策はターミナルのみであり、display_results()関数は、環境のステータスを適切なエスケープシーケンスとともにターミナルに出力して色付けします。

display_results(results)

コマンドを「webenable」して、結果ディクショナリをWeb経由でレポートできるようにします。

ソケットでリッスンして文字列テンプレートを介してHTMLを書き込むことができるか、BaseHTTPServerにリッスンを行わせる方がよいと思いますが、index.htmlファイルではなくコマンドの出力を提供する方法を考えています。ファイルシステム上?

これは、開発者がアプリのステータスを一括チェックするためのツールとして使用される本番アプリケーションではありません。

ターミナルバージョンはPython2.4(Centos 5.8)で動作しますが、Python2.7の使用を妨げるものは何もありません。

助言がありますか?

4

1 に答える 1

1

コード全体を記述せずに、次のようなものを使用してみませんか。

import BaseHTTPServer

class MyHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
        def do_GET(self):
                self.send_response(200)
                self.send_header("Content-type", "text/html")
                self.end_headers()
                self.wfile.write("<html><body>You accessed path: {}</body></html>".format(self.path))

BaseHTTPServer.HTTPServer(('', 80), MyHTTPRequestHandler).serve_forever()

MyHTTPRequestHandler引数として使用するスクリプトなどを呼び出すコードをself.path追加し、結果をフォーマットされたページに追加しても問題ありません。このような単純な作業のバッテリーの問題はどこにありますか?さらに、subprocessモジュールは特に役立つかもしれませんsubprocess.Popen(["echo", "test"]).communicate()

于 2012-10-18T00:34:17.577 に答える