Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/annotate/45da1d3a60c3/utils/pool
Дата изменения: Unknown
Дата индексирования: Thu Feb 28 00:26:00 2013
Кодировка:
allpy: utils/pool annotate

allpy

annotate utils/pool @ 1116:45da1d3a60c3

pair_cores/web: add note about support by Ministry of Education and Science
author Boris Nagaev <bnagaev@gmail.com>
date Wed, 28 Nov 2012 00:35:35 +0400
parents
children
rev   line source
dendik@799 1 #!/usr/bin/python
dendik@799 2 import subprocess
dendik@799 3 import os
dendik@799 4 import shlex
dendik@799 5 import optparse
dendik@799 6
dendik@799 7 p = optparse.OptionParser()
dendik@799 8 p.add_option('-n', '--size', type=int, help='Pool size')
dendik@799 9 p.add_option('-c', '--cmd',
dendik@799 10 help='Command template. Insert {} for argument.'
dendik@799 11 ' Put the argument in double quotes if it may contain spaces.')
dendik@799 12 options, args = p.parse_args()
dendik@799 13
dendik@799 14 spawned = 0
dendik@799 15 for arg in args:
dendik@799 16 if spawned > options.size:
dendik@799 17 os.wait()
dendik@799 18 spawned -= 1
dendik@799 19 cmd = shlex.split(options.cmd.replace('{}', arg))
dendik@799 20 subprocess.Popen(cmd)
dendik@799 21 spawned += 1
dendik@799 22
dendik@799 23 try:
dendik@799 24 while True:
dendik@799 25 os.wait()
dendik@799 26 except Exception:
dendik@799 27 pass
dendik@799 28
dendik@799 29 # vim: set ts=4 sts=4 et sw=4: