Подтвердить что ты не робот

Статистика статуса процесса Reactphp (бездействует, работает и т.д.)

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

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

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

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

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

Существует ли временное решение?

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

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

4b9b3361

Ответ 1

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

Рабочие

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

Был также стек инструкций. Если работник увидел его ID и текст "exit", он закроется и выйдет. Последняя вещь - удалить его. Вы также можете установить статус выхода.

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

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

Холостые потоки:

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

Количество состояний темы:

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