Статистика состояния процесса Reactphp (в режиме ожидания, работает и т. Д.)

Я начинаю использовать http://reactphp.org/ для обработки HTTP-запроса.

Я запускаю несколько реагирующих рабочих, которые работают на разных портах, а затем использую Nginx в качестве балансировки нагрузки для обработки запросов.
Как это

upstream backend  {
server 127.0.0.1:13300;
server 127.0.0.1:13301;
.....
}

Все работает хорошо, как и ожидалось.

Вопрос в том, как получить статистику о состоянии процессаactphp. Сколько процессов в данный момент находится в состоянии ожидания (ожидание нового запроса), сколько процессов работает по запросу и т. Д.

Существуют ли обходные пути?

Или идея, как обрабатывать статистику процесса вручную.

Пример — блокировка записи в некоторый кеш-процесс Когда завершить запрос — увеличить количество обрабатываемых процессов, когда завершить запрос — увеличить число неактивных процессов.

13

Решение

В прошлый раз, когда у меня был набор рабочих потоков, я настроил несколько таблиц в базе данных MySQL.

рабочие были там, где каждый поток регистрировал строку (давая ей идентификатор). Поток будет блокировать свою строку и поддерживать столбец состояния.

Был также стек инструкций. Если бы работник увидел его идентификатор и текст «выход», он бы закрылся и вышел. Последнее, что нужно сделать, это удалить строку. Установка статуса на выход также сработала бы.

Я также сделал отчет о состоянии и страницу администратора, где я мог давать команды и устанавливать задачи для своих рабочих потоков.

Это позволит вам увидеть, что делает каждый поток, и получить количество свободных потоков.

Холостые темы:

SELECT count(id) AS threads WHERE status='idle';

Подсчет статуса потока:

SELECT status, count(id) AS threads GROUP BY status;
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]