制作两个python程序进行通信

时间:2016-12-19 16:41:20

标签: python multiprocess

我有两个无限运行的python程序。

第一个进程使用Twisted和Autobahn从WebSocket提要接收数据。 这是一个无限循环。

第二个进程使用自定义库从Pusher WebSocket提要接收数据。 这也是一个无限循环。

我正在寻找一种方法来使这两个过程与第三个过程进行通信。第三个流程必须能够与两个流程进行双向沟通。因此,第三个流程必须能够推送和接收来自两个程序的消息

我尝试使用多处理和队列,但没有成功。

这是第一个过程:

from twisted.internet import reactor
from autobahn.twisted.websocket import WebSocketClientFactory, WebSocketClientProtocol, connectWS
import json

class ClientProtocol(WebSocketClientProtocol):

    ...

    def onMessage(self, msg, binary):
        ...
        # Send data to third process
    ...

if __name__ == '__main__':
    factory = WebSocketClientFactory("wss://feed.com")
    factory.protocol = ClientProtocol
    connectWS(factory)
    reactor.run()

这是第二个过程:

import pusherclient
import sys, time
import json

def callback(event):
    ...
    # Send data to third process

global pusher


def connect_handler(data):
    channel = pusher.subscribe('order_book')
    channel.bind('data', callback)


...
pusher.connect()

while True:
        time.sleep(1)

0 个答案:

没有答案