【问题标题】:Webhook call failed. Error: DEADLINE_EXCEEDED | Request timed outWebhook 调用失败。错误:DEADLINE_EXCEEDED |请求超时
【发布时间】:2020-04-28 21:26:39
【问题描述】:

我将 ASP.Net 用于后端 webhook。一些请求成功执行,很少有人收到此错误:

Webhook 调用失败。错误:DEADLINE_EXCEEDED

但是当我添加一个稍微大一点的操作时,它至少需要 2 秒才能完成并在大约 3 秒内做出响应,我不断收到这个错误。

我认为问题只是请求超时。我无法加快响应速度,因为它在 2-3 个第三方服务器之间路由。所以在某种程度上我需要为我的机器人增加对话流中的响应等待时间。

【问题讨论】:

    标签: asp.net timeout dialogflow-es


    【解决方案1】:

    这是我从 Dialogflow 支持部门收到的。

    嗨,

    感谢您联系 Dialogflow 支持。 Webhook 超时限制 Actions on Google 集成为 10 秒。对于所有其他 集成,包括自行开发的实现发送 向我们的 API 发出请求,webhook 超时为 5 秒。这些值是 不可定制。超时限制包括 Dialogflow 的时间 对您的 webhook 端点的请求、webhook 处理时间和 回到 Dialogflow 的 webhook 响应时间。

    会话界面旨在设计为连续的 最终用户和应用程序/机器人之间的消息交换。如果您的网络 服务需要更多时间在后台执行操作 这无法优化,请考虑重新设计对话 以最终用户无需等待应用程序/机器人回复的方式流动 超过 5 秒(Actions on Google 为 10 秒)。

    如果您有任何问题,请告诉我。

    问候,Mark Dialogflow 支持团队

    因此,唯一的选择是在您收到来自 webhook 的响应时让用户保持对话

    【讨论】:

    • 嗨@habiba,我该如何处理超时,所以当超时发生时它会给用户一个响应,因为如果他在聊天机器人上发送文本,但没有得到任何内容,它会让用户感到困惑回复,我只想回复“超时,请重新输入,您的问题”
    • @usamasulaiman 在 dialogflow 中没有选项可以覆盖此行为,可能在不久的将来他们会引入它。如果您只是学习,我建议您使用 IBM Watson 对话,它更灵活且对开发人员友好。
    【解决方案2】:

    恐怕这不可能,你可以解决实现异步后台线程

    https://stackoverflow.com/a/59625057/9095551

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      • 1970-01-01
      • 2021-11-28
      • 2019-08-12
      • 1970-01-01
      相关资源
      最近更新 更多