【发布时间】:2018-12-06 14:42:44
【问题描述】:
我有一个从 Office 365 邮箱下载邮件的脚本。在脚本的日志中,我注意到很多带有此错误Response: 504, Gateway Timeout 的响应。该错误每周发生几次,有时偶尔出现。以下是最近几次发生的日期:
- 12/05/2018 07:51:44 PM
- 2018 年 12 月 5 日下午 5:50:58
- 2018 年 12 月 5 日下午 3:50:54
- 12/05/2018 03:51:01 AM
- 2018 年 12 月 4 日下午 5:53:13
- 11/28/2018 03:50:53 AM
- 2018 年 11 月 22 日晚上 11:50:53
脚本的其余时间完美运行,没有错误。 documentation 状态是这个错误代码表明:
"服务器作为代理,没有及时收到 来自上游服务器的响应,它在尝试访问时需要访问 完成请求。可能与 503 一起出现。”
我看过其他一些关于此的帖子,但没有一个真正解释为什么会发生此错误,或者可以采取哪些措施来避免它。如果服务器响应超时,这是否意味着我需要更改我的请求?现在,我正在使用@odata.nextLink 响应参数请求以 1000 为单位的消息来请求下一个块。
【问题讨论】:
-
1000真的很大。如果将其降低到更合理的值,例如每页100或200,会发生什么变化? -
@MarcLaFleur 我会试一试的。不过,使用这么小的一个单元不会触发“请求过多”错误吗?
-
这取决于您发出多少请求,但只要您是 properly handling a
429response,任何限制都不太可能导致问题。 -
@MarcLaFleur 现在已经有几个星期了,我还没有看到任何 504 错误,所以似乎更改请求的页面大小(从 1000 到 200)已经解决了这个问题。