js_periodic

`js_periodic` 指令允许您在 NGINX 的 stream server 上下文中配置定期的 JavaScript 执行。

语法js_periodic interval;
默认值none
上下文stream server
参数any

说明

js_periodic 指令是 NGINX njs 动态模块的一部分,支持以指定间隔执行 JavaScript 函数。该指令在 stream server 的上下文中工作,使开发者能够以固定间隔执行操作,而无需在外部应用或服务中处理此类调度。

在使用 js_periodic 时,开发者可以通过提供间隔值来指定某个 JavaScript 函数应多长时间执行一次。实现还支持额外参数,例如抖动(jitter),用于为负载均衡和其他运维需求自定义执行时机。该指令利用 NJS 运行时异步执行 JavaScript 函数,确保在执行定时任务时服务器仍保持响应。

通常,这种行为包括设置一个事件循环来触发指定的 JavaScript 代码,随后执行诸如监控健康检查、根据服务器状态执行操作或任何应定期运行的用户定义逻辑等操作。这使得在不阻塞主服务器流程的情况下需要后台处理或定时任务的场景尤为有用。

配置示例

stream {
    server {
        listen 12345;
        js_periodic 5000;  # Executes every 5 seconds
        # additional configuration
    }
}

确保所定义的 JavaScript 函数不会阻塞主事件循环。

考虑服务器负载,因为如果间隔太短,频繁执行可能会影响性能。

确保在 JavaScript 逻辑中正确处理异步操作。

← 返回所有指令