【发布时间】:2020-01-27 10:45:40
【问题描述】:
我在内联编辑器中编写了 webhook 函数。 我间歇性地收到超出期限的错误。 所有因超过期限而失败的 webhook 都有 webhook_latency_ms : 4992ms 在 Dialogflow 文档 (https://cloud.google.com/dialogflow/docs/fulfillment-how) 中提到默认超时为 5 秒,因此我的 webhook 不应抛出此错误,因为它在 5 秒内。
webhook 有一个非常简单的代码,不会超过 20-30 毫秒。 大多数时候,同一个函数有 webhook_latency_ms: 小于 50ms。 哪些因素会导致延迟增加?
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
function testHandler(agent) {
let pendingHabits = agent.getContext('pendinghabits').parameters.habits;
let message = "Ok, let me know when you complete these habits:";
for (let i = 0; i < pendingHabits.length; i++) {
message = message + "\n" + pendingHabits[i];
}
let payload = {
type: 'message',
isPositive: false,
messages: [{ type: 0, text: message }]
};
agent.add(new Payload(agent.UNSPECIFIED, payload));
}})
【问题讨论】:
-
你能用代码更新吗
-
此外,firebase 日志显示函数执行耗时 1911 毫秒,完成状态码为:200,webhook 延迟为 4992 毫秒。这很混乱。
-
请更新有问题的不可读
标签: dialogflow-es