<div dir="ltr">Спасибо! :) Понятно</div><div class="gmail_extra"><br><div class="gmail_quote">22 февраля 2018 г., 18:52 пользователь Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Thu, Feb 22, 2018 at 06:15:35PM +0200, Igor Savenko wrote:<br>
<br>
> Большое спасибо, Максим! Тем временем, я обратил внимание на то, каким<br>
> образом в openresty реализован фукнционал сдвига выполнения модуля в самый<br>
> конец фазы:<br>
><br>
>     if (!lmcf->postponed_to_access_<wbr>phase_end) {<br>
><br>
>         lmcf->postponed_to_access_<wbr>phase_end = 1;<br>
><br>
>         cmcf = ngx_http_get_module_main_conf(<wbr>r, ngx_http_core_module);<br>
><br>
>         ph = cmcf->phase_engine.handlers;<br>
>         cur_ph = &ph[r->phase_handler];<br>
<br>
</span>[...]<br>
<span class=""><br>
> Актуален ли данный подход? Это хак, недокументированная возможность или<br>
> широкоизвестная в узких кругах функциональность?<br>
<br>
</span>Приблизительно всё, что можно найти в openresty - это хаки разной<br>
степени тяжести.  Процитированный код - характерный представитель.<br>
<br>
Во-первых, он лезет во внутренние структуры http core.  Однажды мы<br>
что-нибудь поменяем внутри - и оно всё сломается с удивительными<br>
спецэффектами.<br>
<br>
Во-вторых, он пытается менять конфигурацию внутри работающего<br>
рабочего процесса.  Это просто глупо, так как приведёт к тому, что<br>
соответствующие структуры будут дублироваться в памяти разных<br>
рабочих процессов.<br>
<br>
Не надо делать так.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div>