Rollback and retry the task update status. Disable default idle timeouts on certain tasks

This commit is contained in:
Matthew Jones
2014-01-30 15:09:49 -05:00
parent b226737ec5
commit bc6ec06d8f

View File

@@ -105,7 +105,9 @@ class BaseTask(Task):
transaction.commit() transaction.commit()
save_succeeded = True save_succeeded = True
except DatabaseError as e: except DatabaseError as e:
logger.debug("Database error encountered, retrying: " + str(e)) transaction.rollback()
logger.debug("Database error encountered, retrying in 5 seconds: " + str(e))
time.sleep(5)
save_succeeded = False save_succeeded = False
finally: finally:
if save_succeeded: if save_succeeded:
@@ -448,7 +450,7 @@ class RunJob(BaseTask):
return cwd return cwd
def get_idle_timeout(self): def get_idle_timeout(self):
return getattr(settings, 'JOB_RUN_IDLE_TIMEOUT', 300) return getattr(settings, 'JOB_RUN_IDLE_TIMEOUT', None)
def get_password_prompts(self): def get_password_prompts(self):
d = super(RunJob, self).get_password_prompts() d = super(RunJob, self).get_password_prompts()
@@ -818,7 +820,7 @@ class RunInventoryUpdate(BaseTask):
return self.get_path_to('..', 'plugins', 'inventory') return self.get_path_to('..', 'plugins', 'inventory')
def get_idle_timeout(self): def get_idle_timeout(self):
return getattr(settings, 'INVENTORY_UPDATE_IDLE_TIMEOUT', 300) return getattr(settings, 'INVENTORY_UPDATE_IDLE_TIMEOUT', None)
def pre_run_check(self, inventory_update, **kwargs): def pre_run_check(self, inventory_update, **kwargs):
''' '''