我有一个200个命令的列表/队列,我需要在Linux服务器的shell中运行。从Linux上的命令队列并行处理(bash,python,ruby ... whatever)
我只希望一次运行最多10个进程(从队列中)。一些过程需要几秒钟才能完成,其他过程需要更长的时间。
当一个进程完成时,我希望下一个命令从队列中“弹出”并执行。
有没有人有解决这个问题的代码?
进一步阐述:
有200件作品需要做的,在某种队列。我最多只想做10件作品。当一个线程完成一项工作时,它应该向队列请求下一项工作。如果队列中没有更多的工作,线程就会死掉。当所有线程都已经死亡时,意味着所有的工作都已完成。
我试图解决的实际问题是使用imapsync
将200个邮箱从旧邮件服务器同步到新邮件服务器。某些用户拥有大量邮箱并需要很长时间才能同步,其他用户的邮箱非常小,并且可以快速同步。
这个工作正如我所希望的那样。我写了一些代码来生成Makefile。它结束了超过1000行。谢谢! – mlambie 2009-01-21 07:01:36
+1这确实很聪明! – progo 2011-05-15 17:56:58