Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/file/61e5d8e146c7/utils/pool
Дата изменения: Unknown
Дата индексирования: Sun Feb 3 17:33:02 2013
Кодировка:
allpy: 61e5d8e146c7 utils/pool

allpy

view utils/pool @ 806:61e5d8e146c7

WARNING! Changed EOL formatting to UNIX everywhere! WARNING! To avoid such nasty commits in the future, add the following lines to your ~/.hgrc: [extensions] hgext.eol = Note: kodomo has this setting on by default. Please also note .hgeol file, that has rules for EOL conversion.
author Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru>
date Thu, 14 Jul 2011 14:28:32 +0400
parents
children
line source
1 #!/usr/bin/python
2 import subprocess
3 import os
4 import shlex
5 import optparse
7 p = optparse.OptionParser()
8 p.add_option('-n', '--size', type=int, help='Pool size')
9 p.add_option('-c', '--cmd',
10 help='Command template. Insert {} for argument.'
11 ' Put the argument in double quotes if it may contain spaces.')
12 options, args = p.parse_args()
14 spawned = 0
15 for arg in args:
16 if spawned > options.size:
17 os.wait()
18 spawned -= 1
19 cmd = shlex.split(options.cmd.replace('{}', arg))
20 subprocess.Popen(cmd)
21 spawned += 1
23 try:
24 while True:
25 os.wait()
26 except Exception:
27 pass
29 # vim: set ts=4 sts=4 et sw=4: