分布式进程:将许多任务分布到不只一台机器上运行
通常的工作模式为:Master - Worker 模式
首先是Master主任务处理过程
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
'分布式进程的简单应用:Master-worker 模式'
# Task_Master.py
import random, time
import queue
from multiprocessing.managers import BaseManager
from multiprocessing import freeze_support
# 继承父类BaseManager
class QueueManager(BaseManager):
pass
# 任务数
taskNumber = 10
# 定义发送、接收任务队列
taskQueue = queue.Queue(taskNumber)
resultQueue = queue.Queue(taskNumber)
# windows 环境下只能先定义两个向对应的函数才能执行下去
def getTask():
return taskQueue
def getResult():
return resultQueue
def test(): # 任务执行过程
# 将任务队列注册到网上
QueueManager.register('get_task', callable=getTask)
QueueManager.register('get_result', callable=getResult)
# 绑定地址和IO端口以及验证码
manager = QueueManager(address=('127.0.0.1', 5000), authkey=b'abc')
# 启动队列