File: //proc/self/root/lib/python2.7/site-packages/lap/resque_queue.py
import redis
def __run__(params):
try:
host = params.get("host", "localhost")
port = int(params.get("port", "6379"))
db = int(params.get("db", "0"))
passwd = params.get("passwd")
queue = params.get("queue")
maxjobs = int(params.get("maxjobs", "100"))
except Exception, e:
return [2, "CRITICAL - Error: %s" % repr(e)]
try:
r = redis.Redis(host=host, port=port, db=db, password=passwd)
rsq_queue_len = r.llen("%s" % queue)
except Exception, e:
return [2, "CRITICAL - Error: %s" % repr(e)]
if rsq_queue_len >= maxjobs:
return [2, "CRITICAL - Queue '%s' has %s pending jobs" % (queue, rsq_queue_len)]
if rsq_queue_len >= maxjobs * 0.7:
return [1, "WARNING - Queue '%s' has %s pending jobs" % (queue, rsq_queue_len)]
return [0, "OK - Queue '%s' has %s pending jobs" % (queue, rsq_queue_len)]