sanic.exceptions.RequestTimeout: время ожидания запроса в Sanic - PullRequest
0 голосов
/ 09 декабря 2018

Я запускаю sanic-приложение, и оно вызывает исключение каждые несколько секунд, даже без запроса.

sanic.exceptions.RequestTimeout: Request Timeout

Как решить проблему?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Я бы указал на документацию , чтобы вы понимали, что вы делаете и почему вы получаете это исключение.Просто слепое изменение KEEP_ALIVE на False может оказаться не тем, что вам нужно.

Конфигурационная переменная KEEP_ALIVE установлена ​​в True в Sanic по умолчанию.Если вам не нужна эта функция в вашем приложении, установите для нее значение False, чтобы все клиентские подключения закрывались сразу после отправки ответа, независимо от заголовка Keep-Alive в запросе.

КоличествоВремя, в течение которого сервер удерживает соединение TCP открытым, определяется самим сервером.В Sanic это значение настраивается с использованием значения KEEP_ALIVE_TIMEOUT.По умолчанию оно установлено равным 5 секундам, это то же значение по умолчанию, что и HTTP-сервер Apache, и это хороший баланс между предоставлением клиенту достаточного времени для отправки нового запроса и не удерживанием слишком большого количества открытых соединений одновременно.Не превышайте 75 секунд, если только вы не знаете, что ваши клиенты используют браузер, который поддерживает TCP-соединения, которые остаются открытыми в течение этого времени.

0 голосов
/ 09 декабря 2018

Проблема связана с тем, что соединение остается живым.Добавление следующей конфигурации, похоже, исправило мою проблему

from sanic.config import Config
Config.KEEP_ALIVE = False
...