record end_time of task and batchjob
This commit is contained in:
parent
1313f4cfc7
commit
196606cdee
|
@ -104,11 +104,14 @@ class BatchJob(object):
|
||||||
allcnt = len(self.tasks.keys())
|
allcnt = len(self.tasks.keys())
|
||||||
if self.tasks_cnt['failed'] != 0:
|
if self.tasks_cnt['failed'] != 0:
|
||||||
self.job_db.status = 'failed'
|
self.job_db.status = 'failed'
|
||||||
|
self.job_db.end_time = datetime.now()
|
||||||
elif self.tasks_cnt['finished'] == allcnt:
|
elif self.tasks_cnt['finished'] == allcnt:
|
||||||
self.job_db.status = 'done'
|
self.job_db.status = 'done'
|
||||||
|
self.job_db.end_time = datetime.now()
|
||||||
elif self.job_db.status == 'stopping':
|
elif self.job_db.status == 'stopping':
|
||||||
if self.tasks_cnt['running'] == 0 and self.tasks_cnt['scheduling'] == 0 and self.tasks_cnt['retrying'] == 0:
|
if self.tasks_cnt['running'] == 0 and self.tasks_cnt['scheduling'] == 0 and self.tasks_cnt['retrying'] == 0:
|
||||||
self.job_db.status = 'stopped'
|
self.job_db.status = 'stopped'
|
||||||
|
self.job_db.end_time = datetime.now()
|
||||||
elif self.tasks_cnt['running'] != 0 or self.tasks_cnt['retrying'] != 0:
|
elif self.tasks_cnt['running'] != 0 or self.tasks_cnt['retrying'] != 0:
|
||||||
self.job_db.status = 'running'
|
self.job_db.status = 'running'
|
||||||
else:
|
else:
|
||||||
|
@ -127,6 +130,7 @@ class BatchJob(object):
|
||||||
self.tasks[task_idx]['status'] = 'running'
|
self.tasks[task_idx]['status'] = 'running'
|
||||||
self.tasks[task_idx]['db'] = Batchtask.query.get(self.tasks[task_idx]['id'])
|
self.tasks[task_idx]['db'] = Batchtask.query.get(self.tasks[task_idx]['id'])
|
||||||
self.tasks[task_idx]['db'].status = 'running'
|
self.tasks[task_idx]['db'].status = 'running'
|
||||||
|
self.tasks[task_idx]['db'].start_time = datetime.now()
|
||||||
self.tasks_cnt['running'] += 1
|
self.tasks_cnt['running'] += 1
|
||||||
self.job_db = Batchjob.query.get(self.job_id)
|
self.job_db = Batchjob.query.get(self.job_id)
|
||||||
self._update_job_status()
|
self._update_job_status()
|
||||||
|
@ -149,6 +153,7 @@ class BatchJob(object):
|
||||||
self.tasks[task_idx]['db'].status = 'finished'
|
self.tasks[task_idx]['db'].status = 'finished'
|
||||||
self.tasks[task_idx]['db'].tried_times += 1
|
self.tasks[task_idx]['db'].tried_times += 1
|
||||||
self.tasks[task_idx]['db'].running_time = running_time
|
self.tasks[task_idx]['db'].running_time = running_time
|
||||||
|
self.tasks[task_idx]['db'].end_time = datetime.now()
|
||||||
self.tasks[task_idx]['db'].billing = billing
|
self.tasks[task_idx]['db'].billing = billing
|
||||||
self.job_db = Batchjob.query.get(self.job_id)
|
self.job_db = Batchjob.query.get(self.job_id)
|
||||||
self.job_db.billing += billing
|
self.job_db.billing += billing
|
||||||
|
@ -209,6 +214,7 @@ class BatchJob(object):
|
||||||
self.tasks[task_idx]['db'].status = 'failed'
|
self.tasks[task_idx]['db'].status = 'failed'
|
||||||
self.tasks[task_idx]['db'].failed_reason = reason
|
self.tasks[task_idx]['db'].failed_reason = reason
|
||||||
self.tasks[task_idx]['db'].tried_times += 1
|
self.tasks[task_idx]['db'].tried_times += 1
|
||||||
|
self.tasks[task_idx]['db'].end_time = datetime.now()
|
||||||
self.tasks[task_idx]['db'].running_time = running_time
|
self.tasks[task_idx]['db'].running_time = running_time
|
||||||
self.tasks[task_idx]['db'].billing = billing
|
self.tasks[task_idx]['db'].billing = billing
|
||||||
self.job_db = Batchjob.query.get(self.job_id)
|
self.job_db = Batchjob.query.get(self.job_id)
|
||||||
|
@ -228,6 +234,7 @@ class BatchJob(object):
|
||||||
self.tasks[task_idx]['status'] = 'stopped'
|
self.tasks[task_idx]['status'] = 'stopped'
|
||||||
self.tasks[task_idx]['db'] = Batchtask.query.get(self.tasks[task_idx]['id'])
|
self.tasks[task_idx]['db'] = Batchtask.query.get(self.tasks[task_idx]['id'])
|
||||||
self.tasks[task_idx]['db'].status = 'stopped'
|
self.tasks[task_idx]['db'].status = 'stopped'
|
||||||
|
self.tasks[task_idx]['db'].end_time = datetime.now()
|
||||||
self.tasks[task_idx]['db'].running_time = running_time
|
self.tasks[task_idx]['db'].running_time = running_time
|
||||||
self.tasks[task_idx]['db'].billing = billing
|
self.tasks[task_idx]['db'].billing = billing
|
||||||
self.job_db = Batchjob.query.get(self.job_id)
|
self.job_db = Batchjob.query.get(self.job_id)
|
||||||
|
@ -380,7 +387,7 @@ class JobMgr():
|
||||||
|
|
||||||
# report task status from taskmgr when running, failed and finished
|
# report task status from taskmgr when running, failed and finished
|
||||||
# task_name: job_id + '_' + task_idx
|
# task_name: job_id + '_' + task_idx
|
||||||
# status: 'running', 'finished', 'retrying', 'failed'
|
# status: 'running', 'finished', 'retrying', 'failed', 'stopped'
|
||||||
# reason: reason for failure or retrying, such as "FAILED", "TIMEOUT", "OUTPUTERROR"
|
# reason: reason for failure or retrying, such as "FAILED", "TIMEOUT", "OUTPUTERROR"
|
||||||
# tried_times: how many times the task has been tried.
|
# tried_times: how many times the task has been tried.
|
||||||
def report(self, user, task_name, status, reason="", tried_times=1, running_time=0, billing=0):
|
def report(self, user, task_name, status, reason="", tried_times=1, running_time=0, billing=0):
|
||||||
|
|
Loading…
Reference in New Issue