【问题标题】:Shopify - Webhook for getting notified on Rates API call timeoutShopify - 用于获取有关 Rates API 调用超时通知的 Webhook
【发布时间】:2018-11-22 14:13:43
【问题描述】:

在 Shopify 中,通常只有当我们在 15 秒内返回费率时,费率 API 调用才会成功。否则,它将在结帐页面显示错误。

我看了一眼设置页面中的 webhook 列表,似乎没有针对 Rate API 超时错误的 webhook。 有什么方法可以收到这些情况的通知?

【问题讨论】:

    标签: shopify webhooks shopify-app


    【解决方案1】:

    如果您的应用未能在 15 秒内返回响应,您可以通过监控应用的响应时间来轻松查看自己的情况。大多数云提供商会记录您的响应时间以供您查看。如果没有,有很多监控工具旨在以简单的方式公开您的应用程序响应时间。试试看。

    【讨论】:

    • 此外,如果您的响应时间过长,您的费率服务应该会抛出连接关闭错误,以便您可以捕获该错误并将其转发给监控服务
    • 嗨 @david 和 bknights,感谢您的回复。但是,经过时间的计算在我们的系统中无效,我通过听 req.on('close' , ...) 事件解决了我的情况(请查看我在下面发布的答案)。假设经过时间计算无效的原因是,在 req.on('close') 上,我观察到经过时间仅为 10 到 11 秒。所以,现在这个 req.on('close') 解决了这个问题,甚至网关超时问题也解决了。
    【解决方案2】:

    得到了这种情况的解决方案,如下所示。我们通常可以监听连接关闭事件。

    app.post('/fetchrates', (req, res) => {
        req.on('close', () => {
            logger.debug("Shopify has aborted/closed the connection");
        });
    
        // <Logic for calculating the rates and returning the response>
    });
    

    这似乎是最好的解决方案,因为不仅有超时,我们还可以收到网关超时的通知(其中 api 端点没有被击中到我们的系统中)。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 2016-05-12
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多