diff --git a/bin/iqmgr.py b/bin/iqmgr.py index b277d53..87a49da 100755 --- a/bin/iqmgr.py +++ b/bin/iqmgr.py @@ -4,58 +4,84 @@ import sys import time import interp.bootstrap from interp.cluster import QueueManager, get_qs +from optparse import OptionParser -m = QueueManager(address=('localhost', 6666), authkey='asdf') -m.connect() +if __name__ == '__main__': + parser = OptionParser(usage = "usage: %s [options] ") -tq,rq,mq,sq = get_qs(m) + parser.add_option('-p', '--port', + type="int", dest="port", default=6666, + help="specify the port to use on the server (default: %default)") -if len(sys.argv) == 1: - sys.argv.append("st") + parser.add_option('-a', '--auth-key', + type="str", dest="authkey", default='asdf', + help="authkey (default: %default)") + (options, args) = parser.parse_args() -if sys.argv[1].startswith("st"): - print "interp queue status:" - print " tasksq : %d" % tq.qsize() - print " resultsq : %d" % rq.qsize() - print " masterq : %d" % mq.qsize() - print " minionsq : %d" % sq.qsize() - -if sys.argv[1].startswith("wa"): - if len(sys.argv) == 3: - sleeptime = float(sys.argv[2]) + if len(args) == 0: + cmd = 'status' else: - sleeptime = 1 + cmd = args[0] - i = 0 - while True: - time.sleep(sleeptime) - if i % 20 == 0: - print "tasksq resultsq masterq minionsq" - print "%d %d %d %d" % \ - (tq.qsize(), - rq.qsize(), - mq.qsize(), - sq.qsize(),) - i += 1 + m = QueueManager(address=('', options.port), authkey=options.authkey) + m.connect() -if sys.argv[1] == 'add': - for i in xrange(int(sys.argv[2])): - mq.put('jane') + tq,rq,mq,sq = get_qs(m) -if sys.argv[1] == 'slay': - if len(sys.argv) == 2: - for i in xrange(mq.qsize()): - print i, "killing", mq.get() - sq.put("slay") - elif len(sys.argv) == 3: - for i in xrange(int(sys.argv[2])): - print i, "killing", mq.get() - sq.put("slay") + if cmd.startswith("st"): + print "interp queue status:" + print " tasksq : %d" % tq.qsize() + print " resultsq : %d" % rq.qsize() + print " masterq : %d" % mq.qsize() + print " minionsq : %d" % sq.qsize() + + if cmd.startswith("wa"): + if len(args) == 2: + sleeptime = float(args[1]) + else: + sleeptime = 1 + + i = 0 + while True: + time.sleep(sleeptime) + if i % 20 == 0: + print "tasksq resultsq masterq minionsq" + print "%d %d %d %d" % \ + (tq.qsize(), + rq.qsize(), + mq.qsize(), + sq.qsize(),) + i += 1 + + if cmd == 'add': + for i in xrange(int(args[1])): + mq.put('jane%d' % i) + + if cmd == 'fresult': + for i in xrange(int(args[1])): + rq.put('fake.%d' % i) + + if cmd == 'slay': + if len(args) == 1: + for i in xrange(mq.qsize()): + print i, "killing", mq.get() + sq.put("slay") + elif len(args) == 2: + for i in xrange(int(args[1])): + print i, "killing", mq.get() + sq.put("slay") -if sys.argv[1] == 'clear': - for i in xrange(tq.qsize()): print tq.get() - for i in xrange(rq.qsize()): print rq.get() - for i in xrange(mq.qsize()): print mq.get() - for i in xrange(sq.qsize()): print sq.get() + if cmd == 'clear': + for i in xrange(tq.qsize()): print tq.get() + for i in xrange(rq.qsize()): print rq.get() + + if cmd == 'clearall': + for i in xrange(tq.qsize()): print tq.get() + for i in xrange(rq.qsize()): print rq.get() + for i in xrange(mq.qsize()): print mq.get() + for i in xrange(sq.qsize()): print sq.get() + + if cmd == 'clearresults': + for i in xrange(rq.qsize()): print rq.get()