【问题标题】:H27 - Client Request InterruptedH27 - 客户端请求中断
【发布时间】:2017-09-07 07:38:49
【问题描述】:

我在 heroku 中为基于 django 的应用程序获取 H27 warnings,用于可能需要长时间运行处理的请求。奇怪的是,请求并没有失败,但似乎被执行了两次。 IE。如果我的请求应该创建一个对象,我会得到两个对象。查看日志,看起来请求在发出警告后再次开始。第一个警告发生在初始请求开始后大约 10 秒。

这些请求是来自 ios 应用的发布请求。

这是意料之中的吗?我应该在哪里调试这个? (最重要的是,我无法真正重现,但它似乎不时发生)。

【问题讨论】:

  • 您找到解决方案了吗?我遇到了这种确切的情况——在谷歌的零帮助下,我花了几个小时。 (我使用 Laravel + 浏览器的事实应该无关紧要,因为这听起来像是 Heroku 测功机/路由症状,可能是由于长时间运行的 Web 请求。)
  • 不。我在服务器端添加了随机延迟来缓解问题,最近没有看。
  • 字。我最终使用了文件锁,所以我也修复了。

标签: ios django heroku nsurlsession


【解决方案1】:

通常客户端不应重做 POST 请求,因为它们不是 idempotent

也许你正在使用的库在第一个被中断后重做一个 POST 请求(例如 3g-wifi 切换,或者库的默认超时)

您拥有客户吗?您可以制作客户端级别的日志并进行检查。也许给每个请求一个随机参数,并检查 2 个请求是否具有相同的随机参数,如果是,库做错了什么。

【讨论】:

  • 很好的调试 ID,我会添加这个随机参数检查(不过,我会花一些时间来获得结果)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
相关资源
最近更新 更多