Bot Framework: httpStatusCode": 504得到发送活动失败:机器人超时了。

问题描述 投票:1回答:1

偶尔机器人会发送一个超时错误。它似乎发生在数据量较大的请求中。能否增加超时或现金缓冲区?

请求。https:/directline.botframework.comv3directlineconversationsxxxactivities。

响应。{ "error": { "code": "BotError", "message": { "BotError", "message": "Failed to send activity: bot timed out" }, "httpStatusCode": 504}

有效载荷:17.x-ms-bot-agent。DirectLine3.0(directlinejs;WebChat4.9.0(Full))18.x-requested-with。XMLHttpRequest4. Request Payloadview source1. {,...}1.channelData: {clientActivityID:"",clientTimestamp。"2020-06-05T06:57:43.001Z"}2.channelId: "webchat "3.from:{id.",...}4.channelId:{id: "",..."}4. locale: "en-US "5.text: "nohy "6.textFormat: "plain "7.时间戳:"2020-06-05T06:57"。"2020-06-05T06:57:43.045Z "8.type: "消息"

任何想法的家伙?

谢谢,Ari

azure botframework
1个回答
1
投票

你不能增加超时限制。这是Direct Line服务的限制,是为了性能和稳定性而设置的。超时的发生是因为你的机器人代码需要太长的时间来回复服务,而不是因为有多少数据(除非是大数据导致了回复时间的长度)。

你应该调查你的机器人和那些需要较长时间的部分,看看是否可以减少所需时间。如果你 知道 有的地方(比如说外部调用其他服务等)会花费很长时间,而且是不可避免的;那么你应该实施主动消息来补救。

© www.soinside.com 2019 - 2024. All rights reserved.