zoukankan      html  css  js  c++  java
  • Firefly官方教程之Distributed使用文档

     

    distributed使用文档
    1、distributed说明
    该模块主要封装了各个服务进程间进行通信的方法。node子节点域root根节点进程中的接口调用返回的都是延迟对象。关于延迟对象的使用,详见twisted中Deferred对象。
    2、结构解析

    <ignore_js_op>


    PBRoot,root节点对象
    ChildsManager,子节点管理基类
    Child对象对应的是连接到本服务进程的某个服务进程对象。称为子节点对象
    RemoteObject远程调用对象,子节点服务进程中实现。可以通过这对象去调用root节点的进程中的接口方法。
    3、使用示例
    1)test_distributed_root.py

    <ignore_js_op>


    2)test_distributed_node.py

    <ignore_js_op>


    3)上面分别为root(根节点)和node(子节点)的例子,运行test_distributed_root.py文件,你会看到下图,说明服务器已经启动,并开始监听1000这个端口。

    <ignore_js_op>


    5秒内运行test_distributed_node.py文件,你会在root这边看到下图,

    <ignore_js_op>


    并在node这边看到下图,

    <ignore_js_op>


    4)解释下,test_distributed_root.py运行时,root回去监听1000这个端口,处理消息的协议为BilateralFactory(root),并在5秒后调用“调用子节点接口”这个方法,后面三个参数,‘test_node’是子节点的id,即要调用哪个子节点的接口,‘printOK’是子节点中要被调用的方法名,‘asdfawefasdf’是要调用的那个方法需要的参数。即root会在5秒后调用node中的printOK这个方法,参数是‘asdfawefasdf’,所以test_distributed_node.py要在5秒内启动。test_distributed_node.py运行时,会去连接root监听的这个端口,所以你会在root这边看到“node [test_node] takeProxy ready”,说明test_node这个子节点已经连到root节点了,可以进行交互了。node会在启动后的1秒后去调root中的printData1这个方法,后面是需要的参数,执行结果如上。
  • 相关阅读:
    149. Max Points on a Line(js)
    148. Sort List(js)
    147. Insertion Sort List(js)
    146. LRU Cache(js)
    145. Binary Tree Postorder Traversal(js)
    144. Binary Tree Preorder Traversal(js)
    143. Reorder List(js)
    142. Linked List Cycle II(js)
    141. Linked List Cycle(js)
    140. Word Break II(js)
  • 原文地址:https://www.cnblogs.com/9miaoshetuan/p/3851266.html
Copyright © 2011-2022 走看看