Pull to refresh

Comments 10

Ролик посмотрел... куда резюме на junior отсылать?

41 секунда закладывалась под рекламную интеграцию, видимо

Режим «цикла» странная идея, ИМХО. Потому что получится, что инициализация приложения будет происходить в цикле каждый раз.

То есть в обычном лупе

<?php
// initialization
while (true) {
    // handling
}

а с -L будет, грубо говоря,

<?php
while (true) {
    // initialization
    // handling
}

Он вот такую табличку приводит. То есть экономия только на запуске процесса получается?

то есть, раньше если у нас запускался процесс и в цикле while() откручивало какой-то код - весь этот код выполнялся, каждым циклом влияя на процесс - потому что инициализация выполнялась до цикла while().

А с помощью этого режима инициализацию можно втаскивать внутрь цикла while() - чтобы каждый цикл инициализировало заново. Получается, процесс с while запускается и инициализируется 1 раз с какими-то самыми общими настройками - а потом в каждом цикле while грубо говоря делается что-то вроде одинарного вызова php-fpm (?).

Перезапускаем не весь процесс, а перезапускаем в каждом цикле процесс - это как-то так работает? Тогда, получается, отработка каждого цикла будет изолирована "а-ля докер" - и при этом потери на инициализацию будут меньше, потому что она будет разнесена на 2 части - 1 для всего процесса, в котором будет запущен этот while()-цикл, а 2ая - инизиализация в каждом цикле while?

Просто пытаюсь понять, как это работает или как оно должно работать, чтобы от этого был внятный профит на каких-то сценариях

Кажется, я понял. Только глобальное состояние остаётся таким же между итерациями того же запуска скрипта с флагом -L. Глобальное в смысле PHP: переменные, объявленные в index-скрипте, или, прости Господи, через global/$GLOBALS. То есть это как в RoadRunner, только без него.

это для тех, кто не знает, про unix-команду watch

user:/opt/www/acme/src$ watch -n0 php run.php

Больше похоже на замену supervisord

Sign up to leave a comment.

Articles