echo_location_async

Директива `echo_location_async` позволяет выполнять произвольные асинхронные подзапросы в указанном location-блоке конфигурации NGINX.

Синтаксисecho_location_async URI [command];
По умолчаниюnone
Контекстlocation, if in location
Аргументы1-2

Описание

Директива echo_location_async является частью NGINX Echo module и предназначена для упрощения обработки асинхронных подзапросов внутри location-блока или внутри условных блоков, также определённых в контексте location. Эта директива примечательна тем, что позволяет NGINX управлять сложными асинхронными потоками выполнения, оставаясь неблокирующей, что даёт возможность другим процессам на сервере продолжать работу без перерывов. Это особенно полезно в приложениях, критичных к производительности, где важно избегать блокировки основного потока обработки запросов.

При использовании echo_location_async она обычно принимает 1-2 аргумента, указывающих URI для асинхронного запроса, а также необязательную команду, выполняемую после завершения асинхронного запроса. После вызова NGINX обработает подзапрос и вернёт ответ клиенту асинхронно, позволяя разработчикам создавать более эффективные и отзывчивые приложения. Таким образом сервер может ждать завершения действия, не занимая при этом ресурсы без необходимости, обеспечивая оптимальную обработку клиентских запросов.

Поскольку эта директива выполняет асинхронные подзапросы, важно учитывать, что передаваемые ей запросы должны быть по своей природе неблокирующими, чтобы обеспечить предполагаемое улучшение производительности. Эта директива также хорошо сочетается с другими директивами Echo module, предоставляя мощный набор инструментов для разработчиков, работающих со сложной серверной логикой.

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

location /async_example {
    echo_location_async /another_location;
    # Further processing after the subrequest
}

Убедитесь, что subrequest не блокируется; в противном случае это сводит на нет преимущества использования async метода.

Будьте осторожны с параметрами; передача некорректных URIs или команд может привести к непредвиденному поведению или ошибкам.

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