0

我有一个 python 脚本 A 和一个 python 脚本 B。

他们两个都是独立运行的。我想,一旦脚本 B 完成执行,它应该向脚本 A 发送一条消息,“B Done”。

一个简单的消息可以由套接字等发送。但是,脚本 A 正在做自己的一些工作。如何在不停止执行 A 的情况下让 A 监听 B?

任何帮助深表感谢!

编辑:

B 完全受 CPU 限制 - 计算。A 是 I/O 绑定和 CPU 绑定的混合体。用户以不规则的间隔干预输入(如设置的键盘记录器),其中 I/O 显然是击键,而 CPU 绑定任务是对输入的键执行一些计算。

4

1 回答 1

1

这个领域的问题有很多解决方案。

您可能想查看ZMQ,它可以轻松地在应用程序之间创建消息传递模式。

消息通道将在自己的线程中运行,如果与gevent一起使用,这可能是一个“绿色”线程以避免不必要的开销。

结合 gevent 和 zmq 的几个示例:https
://github.com/zeromq/pyzmq/tree/master/examples/gevent 不同消息传递模式的绝佳指南:ZMQ 指南

使用这些库在 A 和 B 之间创建一个通道,该通道不断轮询新工作并报告结果。

存在一些其他解决方案,您在 A 和 B 之间有一个代理,但直接在节点之间建立链接可能更适合您所描述的交互式应用程序。

于 2013-03-22T20:11:14.320 回答