fixed crash with badly signed packages and added redis ping

This commit is contained in:
Ilan Steemers
2015-06-28 18:56:10 +02:00
parent 8dfbddb6be
commit dffb85c991
+7 -2
View File
@@ -55,6 +55,11 @@ redis_client = redis.StrictRedis(**REDIS)
class Cluster(object): class Cluster(object):
def __init__(self, list_key=Q_LIST): def __init__(self, list_key=Q_LIST):
try:
redis_client.ping()
except Exception as e:
logger.exception(e)
return
self.sentinel = None self.sentinel = None
self.stop_event = None self.stop_event = None
self.start_event = None self.start_event = None
@@ -297,9 +302,9 @@ def worker(task_queue, done_queue):
try: try:
task = SignedPackage.loads(pack) task = SignedPackage.loads(pack)
except (TypeError, signing.BadSignature) as e: except (TypeError, signing.BadSignature) as e:
result = (e, False) logger.error(e)
continue
# Get the function from the task # Get the function from the task
if not result:
logger.info('{} processing [{}]'.format(name, task['name'])) logger.info('{} processing [{}]'.format(name, task['name']))
f = task['func'] f = task['func']
# if it's not an instance try to get it from the string # if it's not an instance try to get it from the string