在分布式计算机中存储Python函数

发布于 2024-11-14 02:34:59 字数 463 浏览 1 评论 0原文

终于对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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赠意 2024-11-21 02:34:59

什么?!您只能使用具有数据存储的消息队列进行回调。看看鼠兔或胡萝卜的东西。无法“存储”回调,但您可以定义一种方法,让其他计算机为您执行函数并将结果反馈到原始计算机。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文