是否可以使用Anaconda的ZMQ部分以某种方式在jupyter笔记本之间进行自定义消息传递?我的意图是,如果有一个有限的解决方案,为什么我应该编写自己的通讯解决方案,或者安装新的东西:-)我想查询所有可用的笔记本,并且如果所需的笔记本已经启动并正在运行,那么我想发送自定义信息,流数据到该笔记本。(以前,我是通过带有纯.py脚本的asyncio套接字服务器/客户端体系结构实现的)。
不幸的是,消息传递文档对我没有太大帮助。
先感谢你!
短信
问:“是否可以使用Anaconda的ZMQ部分以某种方式在jupyter笔记本之间进行自定义消息传递?”
当然。
选项A:
可以扩展jupyter框架,使其在FOSS核心中包含所有新功能
选项B:
可以在jupyter内部信令/消息传递功能之上并独立于其实例化自己的ZeroMQ信令/消息传递基础结构,并且仅使用纯用户级代码工作。
include zmq
my1stContextINSTANCE = zmq.context() # The Engine
my1stPublisherSOCKET = my1stContextINSTANCE.socket( zmq.PUB ) # its Socket
my1stPublisherSOCKET.setsockopt( zmq.LINGER, 0 ) # configurations
my1stPublisherSOCKET.setsockopt( zmq.SNDBUF, 2000000 ) # ...
...
my1stPullDataSOCKET = my1stContextINSTANCE.socket( zmq.PULL )# its Socket
my1stPullDataSOCKET.setsockopt( zmq.LINGER, 0 ) # configurations
my1stPullDataSOCKET.setsockopt( zmq.RCVBUF, 100000 ) # ...
...
while True:
...
my1stPublisherSOCKET.send( "INF: message payload[{0:}]".format( repr( _ ) ) )
...
if ( my1stPullDataSOCKET.poll( 0 ) ) ... ):
...
elseif:
...
else:
...
continue
在所有其他对等方上相互相同。
无论哪种方式,ZeroMQ框架都可以做到这一点。你可能想阅读this和this。
架构设计和实现的智慧和健壮性是你的。
谢谢!它有帮助!我以为我必须安装一个消息传递基础结构(一个集群或其他东西)才能使其正常工作,但是它“只是”一个可导入的库。伟大的!快活的XMath :-)
博尔多格·卡拉索尼(BoldogKarácsonyt)!@spyder