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