• 技术文章 >后端开发 >Python教程

    python中demo是什么

    (*-*)浩(*-*)浩2019-07-04 11:12:01原创14998
    DEMO是"demonstration"的缩写。DEMO的中文含意为“示范”、“展示”、“样片”、“样稿”、“原型”,常被用来称呼具有示范或展示功能及意味的事物。

    例:python简单分布式demo(推荐学习:Python视频教程

    A服务器是master,B服务器为worker。

    A服务器上执行taskManger.py

    # coding:utf-8
    
    import random,time,Queue
    from multiprocessing.managers import BaseManager
    #实现第一步:建立task_queue和result_queue,用来存放任务和结果
    
    task_queue=Queue.Queue()
    result_queue=Queue.Queue()
    
    class Queuemanager(BaseManager):
        pass
    #实现第二步:把创建的两个队列注册在网络上,利用register方法,callable参数关联了Queue对象,
    # 将Queue对象在网络中暴露
    Queuemanager.register('get_task_queue',callable=lambda:task_queue)
    Queuemanager.register('get_result_queue',callable=lambda:result_queue)
    
    #实现第三步:绑定端口8001,设置验证口令‘qiye’。这个相当于对象的初始化
    manager=Queuemanager(address=('',8001),authkey='lsf')
    
    #实现第四步:启动管理,监听信息通道
    manager.start()
    
    #实现第五步:通过管理实例的方法获得通过网络访问的Queue对象
    task=manager.get_task_queue()
    result=manager.get_result_queue()
    
    #实现第六步:添加任务
    for url in ["ImageUrl_"+str(i) for i in range(10)]:
        print 'put task %s ...' %url
        task.put(url)
    #获取返回结果
    print 'try get result...'
    for i in range(10):
        print 'result is %s' %result.get(timeout=10)
    #关闭管理
    manager.shutdown()

    B服务器上执行worker的脚本taskWorker.py

    #coding:utf-8
    import time
    from multiprocessing.managers import BaseManager
    
    
    # 创建类似的QueueManager:
    class QueueManager(BaseManager):
        pass
    
    # 实现第一步:使用QueueManager注册获取Queue的方法名称
    QueueManager.register('get_task_queue')
    QueueManager.register('get_result_queue')
    # 实现第二步:连接到服务器:
    server_addr = '127.0.0.1'
    print('Connect to server %s...' % server_addr)
    # 端口和验证口令注意保持与服务进程设置的完全一致:
    m = QueueManager(address=(server_addr, 8001), authkey='lsf')
    # 从网络连接:
    m.connect()
    # 实现第三步:获取Queue的对象:
    task = m.get_task_queue()
    result = m.get_result_queue()
    # 实现第四步:从task队列取任务,并把结果写入result队列:
    while(not task.empty()):
            image_url = task.get(True,timeout=5)
            print('run task download %s...' % image_url)
            time.sleep(1)
            result.put('%s--->success'%image_url)
    
    # 处理结束:
    print('worker exit.')

    更多Python相关技术文章,请访问Python教程栏目进行学习!

    以上就是python中demo是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python
    上一篇:python3怎么调用map函数 下一篇:sublime怎么运行python代码程序
    PHP编程就业班

    相关文章推荐

    • python怎么对齐• python怎么输出表格• python中保留两位小数怎么表示• python如何调用其他程序

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网