我编写了一个作为守护进程运行的小型 Python 应用程序。它利用线程和队列。
我正在寻找更改此应用程序的通用方法,以便在它运行时与它进行通信。大多数情况下,我希望能够监控它的健康状况。
简而言之,我希望能够做这样的事情:
python application.py start # launches the daemon
后来,我希望能够来做类似的事情:
python application.py check_queue_size # return info from the daemonized process
需要明确的是,我在实现受 Django 启发的语法时没有任何问题。我不知道如何做是将信号发送到守护进程(启动),或者如何编写守护进程来处理和响应这些信号。
就像我上面说的,我正在寻找一般的方法。我现在唯一能看到的是告诉守护进程不断地将可能需要的所有内容记录到文件中,但我希望有一种不那么混乱的方式来处理它。
更新:哇,很多很棒的答案。非常感谢。我想我会同时研究 Pyro 和 web.py/Werkzeug 方法,因为此时 Twisted 比我想咬的要多一点。我想,下一个概念上的挑战是如何在不挂断工作线程的情况下与我的工作线程交谈。
再次感谢。