当前位置: 首页>>代码示例>>Python>>正文


Python ServerProxy.put方法代码示例

本文整理汇总了Python中xmlrpc.client.ServerProxy.put方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.put方法的具体用法?Python ServerProxy.put怎么用?Python ServerProxy.put使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xmlrpc.client.ServerProxy的用法示例。


在下文中一共展示了ServerProxy.put方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import put [as 别名]
def main():
    # before running test, please ensure that modules
    # are running on the following addresses:
    coord_name = "http://localhost:10000"
    srv1_name = "http://localhost:10001"
    srv2_name = "http://localhost:10002"

    coordinator = ServerProxy(coord_name)
    server1 = ServerProxy(srv1_name)
    server2 = ServerProxy(srv2_name)
    longDelay = 10

    try:
        # first master
        for i in range(longDelay):
            coordinator.tick()
            server1.tick()
        test(coordinator.master() == srv1_name, "first master")
        server1.put("a", "aaa")
        test(server1.get("a") == "aaa")

        # first backup
        for i in range(longDelay):
            coordinator.tick()
            server1.tick()
            server2.tick()
        test(coordinator.master() == srv1_name, "first backup")
        server1.put("b", "bbb")
        test(server1.get("b") == "bbb", "first backup")

        # master fails
        for i in range(longDelay):
            coordinator.tick()
            server2.tick()
        test(coordinator.master() == srv2_name, "master fails")
        test(server2.get("a") == "aaa", "master fails")
        test(server2.get("b") == "bbb", "master fails")

        # ex-master restarts
        for i in range(longDelay):
            coordinator.tick()
            server1.tick()
            server2.tick()
        test(coordinator.master() == srv2_name, "ex-master restarts")

        # oh no! network partition
        # client sees server2, but coordinator does not
        for i in range(longDelay):
            coordinator.tick()
            server1.tick()
        test(coordinator.master() == srv1_name, "network partition")
        test(server1.get("a") == "aaa", "network partition")
        test(server1.get("b") == "bbb", "network partition")
        try:
            server2.put("c", "ccc")
            raise TestFailedException("Must throw!")
        except xmlrpc.client.Fault:
            pass # ok

    except TestFailedException as e:
        sys.stderr.write("Test failed: %s\n" % e)
开发者ID:vitaly-emelianov,项目名称:distribsys2015,代码行数:63,代码来源:test_server.py


注:本文中的xmlrpc.client.ServerProxy.put方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。