def _get_stats_jobs(session):
jobs_stats = {
JobState.PENDING: 0,
JobState.SCHEDULING: 0,
JobState.RUNNING: 0,
JobState.SUCCESS: 0,
JobState.ERROR: 0,
JobState.FAILED: 0,
'TOTAL': 0,
}
try:
Job = models.Job
result = session.query(Job.state, func.count(Job.serial_id)). \
group_by(Job.state)
for _type, count in result:
jobs_stats['TOTAL'] += count
if _type not in jobs_stats:
LOG.warning("unkown job type: %s" % _type)
continue
jobs_stats[_type] = count
except Exception as e:
LOG.error("handling request: %s" % e)
raise(e)
return jobs_stats
评论列表
文章目录