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() |