smbinterp/bin/iqmgr.py

62 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python
import sys
import time
import interp.bootstrap
from interp.cluster import QueueManager, get_qs
m = QueueManager(address=('localhost', 6666), authkey='asdf')
m.connect()
tq,rq,mq,sq = get_qs(m)
if len(sys.argv) == 1:
sys.argv.append("st")
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])
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 sys.argv[1] == 'add':
for i in xrange(int(sys.argv[2])):
mq.put('jane')
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 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()