comparison 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
comparison
equal deleted inserted replaced
3007:3184864bbb3f 3008:4470b2bff7b7
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
8 8
9 <module name="Модуль ngx_stream_js_module" 9 <module name="Модуль ngx_stream_js_module"
10 link="/ru/docs/stream/ngx_stream_js_module.html" 10 link="/ru/docs/stream/ngx_stream_js_module.html"
11 lang="ru" 11 lang="ru"
12 rev="39"> 12 rev="40">
13 13
14 <section id="summary"> 14 <section id="summary">
15 15
16 <para> 16 <para>
17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать 17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать
553 </para> 553 </para>
554 554
555 </directive> 555 </directive>
556 556
557 557
558 <directive name="js_periodic">
559 <syntax><value>функция</value> |
560 <value>модуль.функция</value>
561 [<literal>interval</literal>=<value>время</value>]
562 [<literal>jitter</literal>=<value>число</value>]
563 [<literal>worker_affinity</literal>=<value>маска</value>]</syntax>
564 <default/>
565 <context>server</context>
566 <appeared-in>0.8.1</appeared-in>
567
568 <para>
569 Задаёт периодичность запуска обработчика содержимого.
570 В качестве первого аргумента обработчик получает объект сессии,
571 также у обработчика есть доступ к глобальным объектам таким как
572 <link doc="../njs/reference.xml" id="ngx">ngx</link>.
573 </para>
574
575 <para>
576 Необязательный параметр <literal>interval</literal>
577 задаёт интервал между двумя последовательными запусками,
578 по умолчанию 5 секунд.
579 </para>
580
581 <para>
582 Необязательный параметр <literal>jitter</literal>
583 задаёт время, в пределах которого
584 случайным образом задерживается каждый запуск,
585 по умолчанию задержки нет.
586 </para>
587
588 <para>
589 По умолчанию <literal>js_handler</literal> выполняется для рабочего процесса 0.
590 Необязательный параметр <literal>worker_affinity</literal>
591 позволяет указать рабочий процесс,
592 для которого будет выполняться обработчик содержимого location.
593 Рабочие процессы задаются битовой маской разрешённых к использованию рабочих
594 процессов.
595 Маска <literal>all</literal> позволяет обработчику выполняться
596 для всех рабочих процессов.
597 </para>
598
599 <para>
600 Пример:
601 <example>
602 example.conf:
603
604 location @periodics {
605 # интервал выполнения 1 минута для рабочего процесса 0
606 js_periodic main.handler interval=60s;
607
608 # интервал выполнения 1 минута для всех рабочих процессов
609 js_periodic main.handler interval=60s worker_affinity=all;
610
611 # интервал выполнения 1 минута для рабочих процессов 1 и 3
612 js_periodic main.handler interval=60s worker_affinity=0101;
613
614 resolver 10.0.0.1;
615 js_fetch_trusted_certificate /path/to/ISRG_Root_X1.pem;
616 }
617
618 example.js:
619
620 async function handler(s) {
621 let reply = async ngx.fetch('https://nginx.org/en/docs/njs/');
622 let body = async reply.text();
623
624 ngx.log(ngx.INFO, body);
625 }
626 </example>
627 </para>
628
629 </directive>
630
631
558 <directive name="js_set"> 632 <directive name="js_set">
559 <syntax> 633 <syntax>
560 <value>$переменная</value> <value>функция</value> | 634 <value>$переменная</value> <value>функция</value> |
561 <value>модуль.функция</value></syntax> 635 <value>модуль.функция</value></syntax>
562 <default/> 636 <default/>