js_fetch_timeout
为 NGINX JavaScript module 中获取响应设置超时。
NGINX njs dynamic modules
·
streamstream server
语法js_fetch_timeout timeout;
默认值none
上下文stream, stream server
参数1
说明
js_fetch_timeout 指令用于指定 NGINX JavaScript module (NJS) 等待 fetch 操作完成的最长时间(以毫秒为单位)。在 NGINX 内运行的 JavaScript 代码发起异步请求时,这一点很重要,可以确保长时间运行的请求不会导致服务无响应。该超时适用于所有由使用 njs module 的脚本发起的 fetch 请求,使开发者能够通过超时管理有效地处理成功和错误情况。
设置 js_fetch_timeout 指令时,它接受一个参数,用于定义以毫秒为单位的超时时长。如果 fetch 操作未能在指定时间内完成,NGINX 将自动终止该请求,阻止进一步处理,并允许在你的 NJS 脚本中进行优雅的错误处理。在响应时效性至关重要的应用(例如以 API 为驱动的环境)中,这有助于管理性能和资源使用。
需要注意的是,该指令可以在 stream 和 stream server contexts 中配置,使其适用于不同的服务器配置。超时应根据预期的网络延迟和通过 fetch 操作访问的后端服务的性能特性来设置。
配置示例
js_fetch_timeout 5000;
⚠
确保超时时间设置得当;过低可能导致合法请求失败。
⚠
该指令仅适用于获取操作,并不会影响在 NGINX 中定义的其他请求超时。
⚠
数值必须以毫秒为单位指定。