【问题标题】:Shopify API: does Shopify cache API queries? How can I refresh one?Shopify API:Shopify 是否缓存 API 查询?我怎样才能刷新一个?
【发布时间】:2012-12-19 17:44:03
【问题描述】:

我正在构建一个 Shopify 应用,但由于该应用的行为异常,我被卡住了。

我调查了这个问题,发现使用 Shopify API 保存产品然后要求 Shopify 读取刚刚保存的值仍然会输出过时的信息。

几秒钟后再次读取产品会输出已保存产品的真实值。

似乎 Shopify 正在缓存产品的查询,并且在几秒钟内(我的测试阈值似乎是 7 秒)仍然回复旧数据。 这是真的吗?

在这种情况下,有没有办法告诉 Shopify 刷新产品的数据? 例如,在 Ruby on Rails 中,我可以对对象使用“.reload”方法。

我的问题是,如果用户正在使用 Shopify 网站管理员并快速更新产品 - 假设它正在输入不同变体的更新库存数量 - 产品更新 webhook 会被快速调用,而第二个 webhook 调用不会阅读第一次 webhook 调用所做的更改。

谢谢!

【问题讨论】:

    标签: ruby-on-rails shopify


    【解决方案1】:

    也许来自 shopify 的人会有更好的答案,但我注意到了相同的行为 - 我的假设不是它正在缓存,而是更改排队,因此在处理之前可能会有延迟。我通过在我的 webhook 处理中添加延迟来解决它 - 所以当 webhook 进入时我的脚本会立即响应(使用 200,并关闭连接),但随后延迟执行以在应用我的更改之前让更改生效.

    【讨论】:

    • 感谢@meeech,我还使用延迟作业来查询 webhook 并稍后处理它们,我还在我的方法中添加了 8 秒的睡眠时间,但这不是解决问题的最佳解决方案......我'我正在等待 Shopify 人员提供更好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 2012-08-31
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    相关资源
    最近更新 更多