[英]How to check status for jobs in list each n seconds till all jobs finished?
在开始另一个步骤之前,我在检查所有转录作业的状态时遇到问题。 我需要知道myList
中的所有作业何时为COMPLTETED
或FAILED
,如果它是错误的 5 秒后重试,但目前它一直在运行,有我的 python 脚本:
while True:
final_list = []
for job in myList:
status = transcribe.get_transcription_job(TranscriptionJobName=job)
final_list.append(status.get('TranscriptionJob').get('TranscriptionJobStatus'))
if all(status in final_list for status in ['COMPLETED', 'FAILED']):
break
time.sleep(5)
编辑 1可能的响应状态可以是QUEUED
、 IN_PROGRESS
、 FAILED
、 COMPLETED
编辑 2 Omar 是对的,我没有正确提取每个作业响应的状态,但脚本仍然永远运行。
get_transcription_job方法的响应语法是:
{
'TranscriptionJob': {
'TranscriptionJobName': 'string',
'TranscriptionJobStatus': 'QUEUED'|'IN_PROGRESS'|'FAILED'|'COMPLETED',
...
}
}
因此,不要添加包含其他字段的“状态”object,而是需要 append status.get('TranscriptionJob').get('TranscriptionJobStatus')
改变:
final_list.append(status)
经过:
final_list.append(status.get('TranscriptionJob').get('TranscriptionJobStatus'))
参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.