1

我想知道是否有人可以帮助我增强一个 python 脚本,该脚本为各种应用程序运行状态命令:

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

我想“启用网络”命令,以便它可以通过网络报告结果字典。

我在想我可以让它在套接字上侦听并通过字符串模板编写 HTML,或者让 BaseHTTPServer 进行侦听会更好,但是如何让它服务于命令的输出而不是 index.html 文件在文件系统上?

这不是一个生产应用程序,它被用作开发人员对应用程序状态进行大规模检查的工具。

终端版本适用于 python 2.4 (Centos 5.8) 但没有什么可以阻止我使用 python 2.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 回答