File: //usr/lib/python2.7/site-packages/lap/resque_workers.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")
scard = params.get("scard")
minworkers= int(params.get("minworkers", "5"))
maxworkers= int(params.get("maxworkers", "20"))
except Exception, e:
return [2, "CRITICAL - Error: %s" % repr(e)]
try:
r = redis.Redis(host=host, port=port, db=db, password=passwd)
rsq_workers = r.scard("%s" % scard)
except Exception, e:
return [2, "CRITICAL - Error: %s" % repr(e)]
if rsq_workers < minworkers:
return [2, "CRITICAL - Resque has only %s of %s workers" %(rsq_workers, minworkers)]
if rsq_workers > maxworkers:
return [1, "WARNING - Resque has %s of %s workers" %(rsq_workers, maxworkers)]
return [0, "OK - Resque has %s workers" % rsq_workers]