Mercurial > hg > nginx-site
diff xml/ru/docs/stream/ngx_stream_js_module.xml @ 3008:4470b2bff7b7
Documented the js_periodic directive.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Tue, 12 Sep 2023 21:32:42 +0100 |
parents | 3184864bbb3f |
children | 55d49eb065ac |
line wrap: on
line diff
--- a/xml/ru/docs/stream/ngx_stream_js_module.xml +++ b/xml/ru/docs/stream/ngx_stream_js_module.xml @@ -9,7 +9,7 @@ <module name="Модуль ngx_stream_js_module" link="/ru/docs/stream/ngx_stream_js_module.html" lang="ru" - rev="39"> + rev="40"> <section id="summary"> @@ -555,6 +555,80 @@ js_preload_object map.json; </directive> +<directive name="js_periodic"> +<syntax><value>функция</value> | + <value>модуль.функция</value> + [<literal>interval</literal>=<value>время</value>] + [<literal>jitter</literal>=<value>число</value>] + [<literal>worker_affinity</literal>=<value>маска</value>]</syntax> +<default/> +<context>server</context> +<appeared-in>0.8.1</appeared-in> + +<para> +Задаёт периодичность запуска обработчика содержимого. +В качестве первого аргумента обработчик получает объект сессии, +также у обработчика есть доступ к глобальным объектам таким как +<link doc="../njs/reference.xml" id="ngx">ngx</link>. +</para> + +<para> +Необязательный параметр <literal>interval</literal> +задаёт интервал между двумя последовательными запусками, +по умолчанию 5 секунд. +</para> + +<para> +Необязательный параметр <literal>jitter</literal> +задаёт время, в пределах которого +случайным образом задерживается каждый запуск, +по умолчанию задержки нет. +</para> + +<para> +По умолчанию <literal>js_handler</literal> выполняется для рабочего процесса 0. +Необязательный параметр <literal>worker_affinity</literal> +позволяет указать рабочий процесс, +для которого будет выполняться обработчик содержимого location. +Рабочие процессы задаются битовой маской разрешённых к использованию рабочих +процессов. +Маска <literal>all</literal> позволяет обработчику выполняться +для всех рабочих процессов. +</para> + +<para> +Пример: +<example> +example.conf: + +location @periodics { + # интервал выполнения 1 минута для рабочего процесса 0 + js_periodic main.handler interval=60s; + + # интервал выполнения 1 минута для всех рабочих процессов + js_periodic main.handler interval=60s worker_affinity=all; + + # интервал выполнения 1 минута для рабочих процессов 1 и 3 + js_periodic main.handler interval=60s worker_affinity=0101; + + resolver 10.0.0.1; + js_fetch_trusted_certificate /path/to/ISRG_Root_X1.pem; +} + +example.js: + +async function handler(s) { + let reply = async ngx.fetch('https://nginx.org/en/docs/njs/'); + let body = async reply.text(); + + ngx.log(ngx.INFO, body); +} +</example> +</para> + +</directive> + + <directive name="js_set"> <syntax> <value>$переменная</value> <value>функция</value> |