js_fetch_timeout

Задает таймаут для получения ответов в JavaScript-модуле NGINX.

Синтаксисjs_fetch_timeout timeout;
По умолчаниюnone
Контекстstream, stream server
Аргументы1

Описание

Директива js_fetch_timeout используется для задания максимального времени ожидания в миллисекундах, которое JavaScript-модуль NGINX (NJS) будет ждать завершения операции fetch. Это важно при выполнении асинхронных запросов в вашем JavaScript-коде, работающем внутри NGINX, чтобы долговременные запросы не приводили к неотзывчивости сервисов. Таймаут применяется ко всем fetch-запросам, выполняемым из скриптов, использующих модуль njs, что позволяет разработчикам эффективно обрабатывать как успешные, так и ошибочные случаи благодаря управлению временем ожидания.

При установке директивы js_fetch_timeout она принимает один аргумент, определяющий продолжительность таймаута в миллисекундах. Если операция fetch не завершится в указанный период, NGINX автоматически завершит запрос, предотвращая дальнейшую обработку и позволяя корректно обрабатывать ошибки в ваших NJS-скриптах. Это помогает управлять производительностью и использованием ресурсов в приложениях, где критично своевременное получение ответов, например в API-ориентированных средах.

Важно отметить, что эту директиву можно настроить в контекстах stream и stream server, что делает её универсальной для разных конфигураций сервера. Таймауты следует задавать в соответствии с ожидаемой сетевой задержкой и характеристиками производительности бэкенд-сервисов, к которым обращаются через операции fetch.

Пример конфига

js_fetch_timeout 5000;

Убедитесь, что значение таймаута установлено правильно; слишком низкое значение может привести к отказу действительных запросов.

Директива применяется только к операциям получения и не влияет на другие таймауты запросов, определённые в NGINX.

Значения должны задаваться в миллисекундах.

← Ко всем директивам