【问题标题】:How to execute long task on Microsoft Bot Framework如何在 Microsoft Bot Framework 上执行长任务
【发布时间】:2019-09-06 18:12:20
【问题描述】:

当我的对话框中的某个步骤需要超过 15 秒才能执行时,我在 Telegram 上遇到问题。错误描述为:POST to name_of_bot timed out after 15s.

我找到了一个使用框架中的主动消息功能的选项,但我不想创建一个基于主动消息的完整架构。好像错了。

那么,在 Microsoft Bot Framework 上执行长时间任务而不超时的最佳做法是什么?

【问题讨论】:

  • 看来我们找到了解决办法。我们已经从作为机器人端点的控制器操作中删除了异步。超时已停止。

标签: c# botframework


【解决方案1】:

不幸的是,由于 Bot Framework 的当前架构,如果响应传入活动的过程将花费超过 15 秒的时间,您需要使用主动消息。

Bot Framework SDK v4(节点)

this.onMessage(async context => {
  const conversationReference = TurnContext.getConversationReference(context.activity);
  context.adapter.continueConversation(conversationReference, async turnContext => {
    await new Promise(resolve => setTimeout(resolve, 20000));
    await turnContext.sendActivity('Hello, World!');
  });
});

【讨论】:

    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多