使用Python websocket-client和multiprocessing.Pool我能够生成websocket-client的3个实例,每个实例连接到不同的URL并将数据写入3个单独的词典。
我的目标是运行第4个进程,以便在更新时从所有3个词典中读取数据。
在这些流程之间共享数据的最佳方式是什么?
我查看了multiprocessing examples,但因为websocket.WebSocketApp采用的参数包含要调用的函数名称(on_message),并且它不接受其他自定义参数,I&I #39;我不清楚on_message函数是否能够传递Value或Pipe等的实例。
答案 0 :(得分:0)
多进程并不共享数据,因此您必须使用某种数据库。
我使用gevent和gevent-websocket库。
https://pypi.python.org/pypi/gevent-websocket/
您有两个选项,您可以根据需要异步运行任意多个选项,或者您可以使用GIPC模块实际上为您进行多处理gevent,并具有通过读写管道相互通信的额外好处。