Пример #1
0
 def run_task(self, **kwargs):
     Session.merge(self.task)
     self.task.start_time = datetime.utcnow()
     self.task.ident = threading.get_ident()
     self.task.status = TaskStatus.running.value
     Session.merge(self.task)
     Session.commit()
     try:
         self.run_function(**kwargs)
         self.task.log = self.log.messages
         self.task.end_time = datetime.utcnow()
         self.task.status = TaskStatus.finished.value
         self.task.result = TaskResult.success.value
         self.task = Session.merge(self.task)
         Session.commit()
     except Exception as e:
         self.task.log = self.log.messages
         self.task.tb = traceback.format_exc()
         self.task.end_time = datetime.utcnow()
         self.task.status = TaskStatus.finished.value
         self.task.result = TaskResult.fail.value
         self.task = Session.merge(self.task)
         Session.commit()
         defect = jira.defect_for_exception(
             "Background Task Error: {}".format(self.task.name),
             e,
             tb=traceback.format_exc(),
             username=self.task.username)
         self.task.defect_ticket = defect.key
         self.task = Session.merge(self.task)
         Session.commit()
     finally:
         Session.remove()
Пример #2
0
 def run_task(self, **kwargs):
   Session.merge(self.task)
   self.task.start_time = datetime.utcnow()
   self.task.ident = threading.get_ident()
   self.task.status = TaskStatus.running.value
   Session.merge(self.task)
   Session.commit()
   try:
     self.run_function(**kwargs)
     self.task.log = self.log.messages
     self.task.end_time = datetime.utcnow()
     self.task.status = TaskStatus.finished.value
     self.task.result = TaskResult.success.value
     self.task = Session.merge(self.task)
     Session.commit()
   except Exception as e:
     self.task.log = self.log.messages
     self.task.tb = traceback.format_exc()
     self.task.end_time = datetime.utcnow()
     self.task.status = TaskStatus.finished.value
     self.task.result = TaskResult.fail.value
     self.task = Session.merge(self.task)
     Session.commit()
     defect = jira.defect_for_exception(
       "Background Task Error: {}".format(
         self.task.name),
       e, tb=traceback.format_exc(),
       username=self.task.username)
     self.task.defect_ticket = defect.key
     self.task = Session.merge(self.task)
     Session.commit()
   finally:
     Session.remove()
Пример #3
0
def shutdown_session(exception=None):
  Session.remove()