在分布式计算机中存储Python函数
终于对tornadoweb异步有点了解了,
异步响应的关键是
def new_messages(self, messages): cls = 消息混合 logging.info("正在向 %r 个监听者发送新消息", len(cls.waiters)) 对于 cls.waiters 中的回调: 尝试: 回调(消息) 除了: logging.error("服务员回调错误", exc_info=True) cls.服务员 = []
那么有没有什么解决方案可以将回调函数存储在数据存储中 或者如果使用多台计算机或进程的解决方案?
例如: 请求更新到node1 B为A发布由node2处理的数据
如何让node2调用node1回调?
finally I a little understand about tornadoweb asynchronous
the key of asynchronous response is
def new_messages(self, messages): cls = MessageMixin logging.info("Sending new message to %r listeners", len(cls.waiters)) for callback in cls.waiters: try: callback(messages) except: logging.error("Error in waiter callback", exc_info=True) cls.waiters = []
so Is there any solution to store the callback function in datastore
or solution if using several computer or process??
e.g :
A request updates to node1
B post data for A that handled by node2
how to node2 call node1 callback??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
什么?!您只能使用具有数据存储的消息队列进行回调。看看鼠兔或胡萝卜的东西。无法“存储”回调,但您可以定义一种方法,让其他计算机为您执行函数并将结果反馈到原始计算机。
What?! You can only do callbacks with a message queue that has a data store. Look into something pika or Carrot. There's no way to "store" the callback but you can define a way to make other computers execute functions for you and have the results fed back to the original computer.