本文整理汇总了Python中qiita_db.job.Job.status方法的典型用法代码示例。如果您正苦于以下问题:Python Job.status方法的具体用法?Python Job.status怎么用?Python Job.status使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qiita_db.job.Job
的用法示例。
在下文中一共展示了Job.status方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run_analysis
# 需要导入模块: from qiita_db.job import Job [as 别名]
# 或者: from qiita_db.job.Job import status [as 别名]
def run_analysis(user, analysis):
"""Run the commands within an Analysis object and sends user messages"""
analysis.status = "running"
all_good = True
pubsub = r_server.pubsub()
pubsub.subscribe(user)
for job_id in analysis.jobs:
job = Job(job_id)
if job.status == 'queued':
name, command = job.command
options = job.options
# create json base for websocket messages
msg = {
"analysis": analysis.id,
"msg": None,
"command": "%s: %s" % (job.datatype, name)
}
o_fmt = ' '.join(['%s %s' % (k, v) for k, v in options.items()])
c_fmt = str("%s %s" % (command, o_fmt))
# send running message to user wait page
job.status = 'running'
msg["msg"] = "Running"
r_server.rpush(user + ":messages", dumps(msg))
r_server.publish(user, dumps(msg))
# run the command
try:
qiita_compute.submit_sync(c_fmt)
except Exception as e:
all_good = False
job.status = 'error'
msg["msg"] = "ERROR"
r_server.rpush(user + ":messages", dumps(msg))
r_server.publish(user, dumps(msg))
print("Failed compute on job id %d: %s\n%s" %
(job_id, e, c_fmt))
continue
msg["msg"] = "Completed"
r_server.rpush(user + ":messages", dumps(msg))
r_server.publish(user, dumps(msg))
# FIX THIS Should not be hard coded
job.add_results([(options["--output_dir"], "directory")])
job.status = 'completed'
# send websockets message that we are done
msg["msg"] = "allcomplete"
msg["command"] = ""
r_server.rpush(user + ":messages", dumps(msg))
r_server.publish(user, dumps(msg))
pubsub.unsubscribe()
# set final analysis status
if all_good:
analysis.status = "completed"
else:
analysis.status = "error"
示例2: _failure_callback
# 需要导入模块: from qiita_db.job import Job [as 别名]
# 或者: from qiita_db.job.Job import status [as 别名]
def _failure_callback(self, msg=None):
"""Executed if something fails"""
# set the analysis to errored
self.analysis.status = 'error'
if self._update_status is not None:
self._update_status("Failed")
# set any jobs to errored if they didn't execute
for job_id in self.analysis.jobs:
job = Job(job_id)
if job.status not in {'error', 'completed'}:
job.status = 'error'
LogEntry.create('Runtime', msg, info={'analysis': self.analysis.id})