Полез я смотреть что не так с модулем pinghost. Вроде модуль работает но, в целом, система не работоспособна.
Постараюсь коротко изложить.
Проблема была в том, что не смотря на устанавливаемое в коде время следующей проверки - фактическое время проверки оказывалось сильно позже - до нескольких минут.
Причина оказалось проста. В коде функции checkAllHosts есть параметр по умолчанию $limit=1000, который влияет на результат выполнения запроса списка "устаревших" хостов. НО (!) этот параметр явно устанавливался в теле цикла (cycle_ping.php) в единицу.
Код: Выделить всё
// checking all hosts
$pinghosts->checkAllHosts(1);
Итого получаем: checkAllHosts вызывается один раз в десять секунд и проверяет максимум одну (самую) "старую" ноду. Получается, если вы хотите проверять свои ноды один раз в минуту, то больше шести нод в минуту у вас проверить не получится никак... До конкретной ноды очередь, конечно всегда дойдет, только вопрос когда)))).
У меня система должна была проверять 25 нод (надо почистить список
) и, видимо, с ростом числа хостов результат становился все хуже и хуже.
Решение: в файле cycle_ping.php или вообще убрать единицу (или написать любое разумное число больше единицы) в строке