应用场景
把一个大任务分解成N个子任务并行执行,全部完成后可进行汇总统计。
例如:
消息分发:将一条消息发送给100w用户,可拆分成100个子任务,每个子任务发送1w用户;
数据处理:对1000w条数据记录进行某种操作,可拆分成N个子任务并行执行;
特点
一键运行,无须手动分解任务
支持动态加入新的worker进程
任务分发是负载均衡的
子任务完成后可进行汇总统计
进程视图
使用方法
任务调用器 task_dispatcher.py
#!/usr/bin/python
#coding: utf-8
# Task dispatcher.
# Binds PUSH socket to tcp://localhost:5557
# Sends batch of tasks to workers via that socket
# Start after all workers started
#
# Author: wilzhang
# Created: 2015-07-29
import os
# Change path to current file path
os.chdir(os.path.split(os.path.realpath(__file__))[0])
import sys
import json
import time
import zmq