【问题标题】:Heroku Server Timeout for Shopify AppShopify 应用的 Heroku 服务器超时
【发布时间】:2018-07-19 14:01:53
【问题描述】:

我在 Heroku 服务器上有一个 Shopify 应用程序。我对该应用程序的调用之一是一个 POST,我在其中发送一个集合、一个产品数组和一个客户数组。从那里我对 Shopify 管理员进行多次 API 调用以创建所有这些东西。如果只有少数产品和客户要创建,这目前工作得很好。然而,Heroku 有 30 秒的超时限制。这是无法改变的。解决它的唯一方法是发送“心跳”,然后您将获得额外的 55 秒。我还没有弄清楚如何发送“心跳”并继续。我尝试返回状态 100,但没有奏效。除了将其拆分为多个调用之外。有更好的方法吗?

【问题讨论】:

    标签: ruby-on-rails heroku shopify shopify-app


    【解决方案1】:

    您的应用程序架构不佳。如果您对您的应用程序进行 POST,组织传入的数据,将其发送到后台作业以进行处理,然后如果您使用 XHR,则将 200 OK 返回到您的应用程序,或者在您的应用程序中启动一个页面说“谢谢,我们正在努力”...

    这样您就可以让您的商家客户了解最新情况,一切正常,并且您没有机会在 30 秒超时时崩溃。

    【讨论】:

    • 我想这就是我需要弄清楚的。将数据发送到后台作业。没有大碍。只是以前从未在 Ruby 中做过。
    • Resque、DelayedJob 和其他 gem 的后台作业处理非常简单。应用程序架构不依赖于脚本语言,因此您选择如何构建应用程序通常比您选择编写应用程序的脚本语言重要得多。
    【解决方案2】:

    不知道 ruby​​ 的答案是什么,但 Heroku 的文章是 here,并指出您只需在每次操作后发送几个字节即可获得额外 55 秒的每次写入操作。

    我认为 ruby​​ 有一些方法可以访问响应流,所以即使发送一个空格字符也可以解决问题——这样你就可以发送一堆空格,然后是最终的 JSON 响应。

    【讨论】:

      猜你喜欢
      • 2015-12-13
      • 2021-06-07
      • 2014-07-06
      • 2021-09-16
      • 1970-01-01
      • 2019-01-15
      • 2017-12-23
      • 2013-11-02
      • 1970-01-01
      相关资源
      最近更新 更多