Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于json大小-响应503和Heroku错误H13,http请求失败_Json_Heroku_Gunicorn_Http Status Code 503_Http Post - Fatal编程技术网

由于json大小-响应503和Heroku错误H13,http请求失败

由于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

我在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):
    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秒。如果由于某种原因序列化所需的时间超过此时间,则会终止工作进程并重新启动