Mercurial > hg > config
comparison python/multiproc.py @ 600:a77f7022cc06
STUB: python/multiproc.py
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Thu, 30 Jan 2014 13:59:09 -0800 |
| parents | 782dc37492c4 |
| children | 7f189613a289 |
comparison
equal
deleted
inserted
replaced
| 599:782dc37492c4 | 600:a77f7022cc06 |
|---|---|
| 9 import subprocess | 9 import subprocess |
| 10 import sys | 10 import sys |
| 11 import time | 11 import time |
| 12 import tempfile | 12 import tempfile |
| 13 | 13 |
| 14 progs = {'yes': ["yes"], | 14 class |
| 15 'ping': ['ping', 'google.com']} | |
| 16 | 15 |
| 17 def main(args=sys.argv[1:]): | 16 def main(args=sys.argv[1:]): |
| 18 """CLI""" | 17 """CLI""" |
| 18 | |
| 19 # available programs | |
| 20 progs = {'yes': ["yes"], | |
| 21 'ping': ['ping', 'google.com']} | |
| 22 | |
| 19 | 23 |
| 20 # parse command line | 24 # parse command line |
| 21 usage = '%prog [options]' | 25 usage = '%prog [options]' |
| 22 parser = argparse.ArgumentParser(usage=usage, description=__doc__) | 26 parser = argparse.ArgumentParser(usage=usage, description=__doc__) |
| 23 parser.add_argument("-t", "--time", dest="time", | 27 parser.add_argument("-t", "--time", dest="time", |
| 24 type=float, default=4., | 28 type=float, default=4., |
| 25 help="seconds to run for") | 29 help="seconds to run for") |
| 26 parser.add_argument("-s", "--sleep", dest="sleep", | 30 parser.add_argument("-s", "--sleep", dest="sleep", |
| 27 type=float, default=1., | 31 type=float, default=1., |
| 28 help="") | 32 help="sleep this number of seconds between polling") |
| 33 parser.add_argument("-p", "--prog", dest='program', | |
| 34 choices=progs.keys(), | |
| 35 help="subprocess to run") | |
| 36 # TODO parser.add_argument("--list-programs", help="list available programs") | |
| 29 options = parser.parse_args(args) | 37 options = parser.parse_args(args) |
| 30 | 38 |
| 31 | 39 |
| 32 # select program | 40 # select program |
| 33 prog = progs['ping'] | 41 prog = progs[options.program] |
| 34 | 42 |
| 35 # start the main subprocess loop | 43 # start the main subprocess loop |
| 36 # TODO -> OO | 44 # TODO -> OO |
| 37 output = tempfile.SpooledTemporaryFile() | 45 output = tempfile.SpooledTemporaryFile() |
| 38 start = time.time() | 46 start = time.time() |
