如果服务器需要时间来完成某个任务,你可以使用轮询(定期发送请求来检查状态是否发生变化)。例如,每隔几秒发送一次请求,直到 status 变为 "completed" 或其他表示任务完成的状态。
示例代码:
import timeimport jsonresponse_json = response.json()chat_id = response_json["data"]["id"]conversation_id = response_json["data"]["conversation_id"]# 检查是否生成完毕retrieve_url =f"https://api.coze.com/v3/chat/retrieve?chat_id={chat_id}&conversation_id={conversation_id}"whileTrue: response = requests.get(retrieve_url, headers=headers) data = response.json() status = data['data']['status']if status =='completed':breakelse:print(f"Task in progress... Status: {status}") time.sleep(0.5)
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress
Task in progress... Status: in_progress