better reporting in scheduler, thanks Niphlod

This commit is contained in:
mdipierro
2013-04-03 16:42:27 -05:00
parent e87a2bf0d5
commit 38fff6fb91
2 changed files with 11 additions and 5 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.4.5-stable+timestamp.2013.04.03.14.45.24 Version 2.4.5-stable+timestamp.2013.04.03.16.41.33
+10 -4
View File
@@ -563,16 +563,18 @@ class Scheduler(MetaScheduler):
self.die() self.die()
def wrapped_assign_tasks(self, db): def wrapped_assign_tasks(self, db):
logger.debug('Assigning tasks...')
db.commit() #db.commit() only for Mysql db.commit() #db.commit() only for Mysql
x = 0 x = 0
while x < 10: while x < 10:
try: try:
self.assign_tasks(db) self.assign_tasks(db)
db.commit() db.commit()
logger.debug('Tasks assigned...')
break break
except: except:
db.rollback() db.rollback()
logger.error('TICKER: error assigning tasks') logger.error('TICKER: error assigning tasks (%s)', x)
x += 1 x += 1
time.sleep(0.5) time.sleep(0.5)
@@ -766,7 +768,7 @@ class Scheduler(MetaScheduler):
db(sw.worker_name == self.worker_name).update( db(sw.worker_name == self.worker_name).update(
last_heartbeat=now, status=ACTIVE) last_heartbeat=now, status=ACTIVE)
self.worker_status[1] = 1 # re-activating the process self.worker_status[1] = 1 # re-activating the process
if self.worker_status[0] <> RUNNING: if self.worker_status[0] != RUNNING:
self.worker_status[0] = ACTIVE self.worker_status[0] = ACTIVE
self.do_assign_tasks = False self.do_assign_tasks = False
@@ -786,13 +788,17 @@ class Scheduler(MetaScheduler):
inactive_workers._select(sw.worker_name)))(st.status == RUNNING)\ inactive_workers._select(sw.worker_name)))(st.status == RUNNING)\
.update(assigned_worker_name='', status=QUEUED) .update(assigned_worker_name='', status=QUEUED)
inactive_workers.delete() inactive_workers.delete()
self.is_a_ticker = self.being_a_ticker() try:
self.is_a_ticker = self.being_a_ticker()
except:
logger.error('Error coordinating TICKER')
if self.worker_status[0] == ACTIVE: if self.worker_status[0] == ACTIVE:
self.do_assign_tasks = True self.do_assign_tasks = True
except: except:
pass logger.error('Error cleaning up')
db.commit() db.commit()
except: except:
logger.error('Error retrieving status')
db.rollback() db.rollback()
self.adj_hibernation() self.adj_hibernation()
self.sleep() self.sleep()