简短的问题:是否有可能有N
工作进程和balancer
进程,它会发现工人在这个时候什么也不做,并通过UnitOfWork
它?Python多处理负载平衡器
长的问题: 想像这样的类,女巫会被继承某些任务:
class UnitOfWork:
def __init__(self, **some_starting_parameters):
pass
def init(self):
# open connections, etc.
def run(self):
# do the job
启动平衡器和工作进程:
balancer = LoadBalancer()
workers = balancer.spawn_workers(10)
部署工作(平衡器应该找一个懒工人,并将任务传递给它,否则如果每个工人都很忙,则将UOW添加到队列中并等待至空闲工人):
balancer.work(UnitOfWork(some=parameters))
# internally, find free worker, pass UOW, ouw.init() + ouw.run()
这是可能的(或它是疯了)?
PS我熟悉multiprocessing
Process
类,并处理池,但:
- 每
Process
实例启动一个进程(是的:)) - 我想工人的固定NUM - 我想
Process
可以制作通用作品的实例
OMG :)更复杂的任务,它具有最简单的答案:d - 你刚刚意识到,我已经做了在另一个项目这样的事情,但我没有从这个角度来看期待... – canni 2012-07-16 19:46:23