编程语言
首页 > 编程语言> > 多个python脚本将消息发送到单个中央脚本

多个python脚本将消息发送到单个中央脚本

作者:互联网

我有许多用Python 2.6编写的脚本,可以任意运行.我想有一个中央脚本收集输出并将其显示在一个日志中.

理想情况下,它将满足这些要求:

>每个脚本都将其消息发送到同一个“接收器”进行显示.
>如果第一个脚本尝试发送消息时接收器未运行,则会启动它.
>接收器也可以手动启动和结束. (虽然如果结束,如果另一个脚本尝试发送消息,它将重新启动.)
>脚本可以按任何顺序运行,甚至可以同时运行.
>在Windows上运行.多平台更好,但至少它需要在Windows上运行.

我遇到了一些提示:

> os.pipe()
>多进程
> Occupying a port
>互斥
> logging.handlers.SocketHandler(感谢@Dan Head)

从这些作品中,我想我可以拼凑一些东西.只是想知道是否有一种明显的“正确”方式,或者我是否可以从任何人的错误中吸取教训.

解决方法:

我考虑使用logging.handlers.SocketHandler来传递部分消息,听起来你已经考虑过记录类型用例了.

标准库日志记录工具非常灵活且配置驱动,因此您应该能够根据您的要求进行调整.

这不能处理问题的自动重启部分.对于UNIX,您可能只是使用pid文件和​​os.kill(pid,0)来检查它是否正在运行,但我不知道它们在Windows世界中的等价物是什么.

标签:interprocess,python,multiprocessing
来源: https://codeday.me/bug/20190827/1740684.html