better reporting in scheduler, thanks Niphlod
This commit is contained in:
@@ -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
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user