Mercurial > hg > nginx-site
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/> |