我正在 python 烧瓶网络服务器中创建一个聊天机器人。我有这个功能可以向 api 发送查询并回复聊天机器人。
def generateresponse(command):
#do something
text = runapi(uri)
return text
def runapi(uri):
r = requests.get(uri, auth=HTTPBasicAuth(user, password))
parsed = js.loads(r.text,object_pairs_hook=OrderedDict)
return parsed
def on_event():
event = request.get_json() #receives an event from the chatbot
#do something
resp = generateresponse(event)
apiasyncresp(resp, spaceName)
return json.jsonify()
这个 runapi 方法调用了一个 mulesoft api 来返回结果。但是,对某些查询作出响应需要更长的时间。我想将文本 - “等待响应”返回给聊天机器人(如果我在 30 秒内没有从 runapi() 得到任何响应)并继续执行 runapi 直到它返回输出。我该怎么做?
我不想阻止响应进来。我只希望在 30 秒之前 generateresponse() 可以返回“等待”消息而不暂停 runapi() 的执行