由于json大小-响应503和Heroku错误H13,http请求失败
我在heroku上运行了一个简单的flask应用程序:由于json大小-响应503和Heroku错误H13,http请求失败,json,heroku,gunicorn,http-status-code-503,http-post,Json,Heroku,Gunicorn,Http Status Code 503,Http Post,我在heroku上运行了一个简单的flask应用程序: from flask import Flask app = Flask(__name__) @app.route('/test', methods=['POST']) def test(): return 'OK' 难以置信的是,它成功或失败取决于我发送的json的大小。以下是测试代码: import json, random, string, requests def rand_string(size): retur
from flask import Flask
app = Flask(__name__)
@app.route('/test', methods=['POST'])
def test():
return 'OK'
难以置信的是,它成功或失败取决于我发送的json的大小。以下是测试代码:
import json, random, string, requests
def rand_string(size):
return ''.join([random.choice(string.letters) for i in xrange(size)])
for size in (4000, 10000):
r = requests.post('http://my-app.herokuapp.com/test',
data=json.dumps(rand_string(size)),
headers={'content-type': 'application/json'})
print r.status_code
在第一次调用中,它返回状态200,在第二次调用中,返回带有H13 heroku错误代码的http状态503
2014-09-18T08:23:46.594543+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=POST path="/test" host=my-app.herokuapp.com request_id=91b1cd91-5a4f-445e-ad52-3c64733154b3 fwd="12.34.56.78" dyno=web.1 connect=5ms service=13ms status=503 bytes=0
指:
由于临时故障,服务器当前无法处理该请求
服务器过载或维护
不可能是这种情况,因为服务器已启动并正在运行,除了手动测试之外,没有任何负载
赫罗库说:
当web dyno中的进程接受
连接,但随后关闭套接字而不向其写入任何内容
但是,代码所做的只是返回'OK',因此它不是代码
heroku是否限制请求的大小?古尼康吗?我如何才能找到它,以及如何配置它?您可能受到gunicorn的超时机制的影响,该机制默认为30秒。如果由于某种原因序列化所需的时间超过此时间,则会终止工作进程并重新启动