1 Star 0 Fork 0

chengy/python_demo01

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
task_worker.py 1.01 KB
一键复制 编辑 原始数据 按行查看 历史
chengy 提交于 2019-02-15 11:47 . init commit
#!/usr/bin/env python3
# _*_ coding:utf-8 _*_
from multiprocessing.managers import BaseManager
__author__ = 'chengy'
import time, sys, queue
class QueueManager(BaseManager):
pass
# 由于这个QueueManager只能从网络上获取queue,所以注册时只提供名字
QueueManager.register('get_task_queue')
QueueManager.register('get_result_queue')
# 连接到服务器,也就是运行task_master.py的机器
server_addr = '127.0.0.1'
print('Connect to server %s...' % server_addr)
# 端口与验证码保持与task_master.py设置的完全一致
m = QueueManager(address=(server_addr, 5000), authkey=b'abc')
m.connect()
task = m.get_task_queue()
result = m.get_result_queue()
# 从task队列取任务,并把结果写入result队列
for i in range(10):
try:
n = task.get(timeout=1)
print('run task %d * %d...' % (n, n))
r = '%d * %d = %d' % (n, n, n * n)
time.sleep(1)
result.put(r)
except queue.Queue.Empty:
print('task queue is emputy.')
print('work exit.')
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/nocoding/python_demo01.git
[email protected]:nocoding/python_demo01.git
nocoding
python_demo01
python_demo01
master

搜索帮助