【问题标题】:Autodesk Data Management webhooks firing events two times?Autodesk Data Management webhook 触发事件两次?
【发布时间】:2020-01-19 12:09:42
【问题描述】:

我在我的服务器中收到了两个类似的事件。我正在发送状态为 201 的响应,但它并没有解决问题(之后,我收到了 4 个类似事件)。事件之间的唯一区别是标题中的两个字段(X-Adsk-Delivery-IdX-Forwarded-For)。 事件是在同一时刻准确接收的(相差不到一秒)。 默认启动两个事件?

感谢您的帮助。

【问题讨论】:

    标签: autodesk-forge autodesk-data-management autodesk-webhooks


    【解决方案1】:

    收到回调后是否立即发送 2xx 响应?

    如果我们的服务在 6 秒内没有收到响应,它会发送另一个回调,因此如果您在发送响应之前完成其他工作流,请务必异步处理它们。

    详情请见here

    Webhooks 保证至少一次交付。当事件发生时,Webhooks 服务将有效负载作为 HTTP POST 请求发送到回调 URL。 Webhook 服务期望对 HTTP POST 请求有 2xx 响应。必须在 6 秒内收到响应。非 2xx 响应被视为错误。如果发生错误,webhook 服务将在 15 分钟后立即重试,然后在 45 分钟后重试。 webhook 服务重试 48 小时,如果在此期间回调未成功,则禁用 webhook。如果 webhook 被禁用,您可能需要重新配置它们。

    【讨论】:

    • 是的,我在管理事件之前发送了响应,会不会是 ngrok 的延迟错误?他们的 UI 显示的响应时间是正确的...
    • 可以 - 尝试云无服务器模式,例如 lambda 函数(消除延迟问题)来捕获回调(并推送到队列进行处理等)并立即以 2xx 响应。
    • 它仍在发送 2 个事件,我不明白为什么,但我必须处理它。我可能会丢弃其中一个或类似的东西......
    猜你喜欢
    • 2019-12-06
    • 2014-04-07
    • 2013-03-28
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多