【问题标题】:Increase request timeout in Ember server增加 Ember 服务器中的请求超时
【发布时间】:2018-01-10 22:03:34
【问题描述】:

在 Ember 服务器(“ember serve”)中使用我的 Ember 应用程序时,任何超过 1.00 分钟的请求都会失败并出现 502 错误。但是,当我构建应用程序并使用本地 Apache 服务器时,请求不会在几分钟内失败。

如何增加 Ember 服务器中的请求超时时间?我在任何地方都看不到设置此值的任何选项,也找不到任何类型的在线文档。

【问题讨论】:

  • 你说的是代理服务器吗?为什么你希望请求超过 1 分钟?
  • 我假设它是代理服务器——我在使用“ember 服务器”(端口 4200)时得到的服务器。我需要让请求花费超过一分钟,因为我正在使用本地 REST 服务器,该服务器对远程数据库服务器进行数据库查询,并且延迟有时会使请求花费很长时间。 (注意,由于 REST 服务器和数据库服务器位于同一位置,因此生产代码的运行速度呈指数级增长)。
  • 我假设您的意思是您使用ember server --proxy=... 运行的服务器部分。对吗?
  • 是的。我的代理指向我的 REST 服务器。我将 REST 服务器的地址硬编码在应用程序适配器中作为主机。我删除了该设置,并改用了 --proxy,但一分钟的超时仍然发生。
  • 我认为这是由 ember 服务器设置引起的,但 @Lux 说服我这可能不是。所以我仔细查看了我的 Apache 配置,发现我的 ProxyPass 设置完全缺少超时参数。在那里设置更长的超时时间解决了我的问题。

标签: express ember.js ember-cli


【解决方案1】:

以下内容可能会有所帮助。

按照此处的说明,您可以在适配器中ajaxOptions 返回的哈希中添加ms 中的timeout

https://discuss.emberjs.com/t/how-to-set-ajax-timeout-for-ember-rsvp-or-store-findrecord/8386/4

他们还提到了 If 的限制

如果 Ember 停止从 Jquery 接收,这将不是一个选项。

【讨论】:

  • 不幸的是,这不起作用。 Ember 服务器似乎总是在一分钟后超时。由于我在我的 Apache 服务器上运行该应用程序没有相同的问题,因此我认为它与 ajaxOptions 无关。我怀疑这与快递服务器有关。
【解决方案2】:

我自己解决了这个问题。毕竟这不是 Ember 服务器的问题。问题是我的 ember 代理指向 Apache 服务器,而后者又代理了 API 服务器。 Apache ProxyPass 设置缺少超时参数,因此默认为 60 秒。我需要在我的 httpd.conf 文件中为我的 ProxyPass 设置添加超时,如下所示:

ProxyPass /api https://localhost:8081/api timeout=180

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2018-07-31
    • 1970-01-01
    • 2021-11-25
    相关资源
    最近更新 更多