Пингуем устройства. Как быть? Устройства Online.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Lerych »

fandaymon писал(а): Ср фев 20, 2019 12:49 am
Ну, например, перед SQLUpdate('Sockets', $sock);
написать

Код: Выделить всё

setGlobal($sock['TITLE'] . '.deviceOnline',$sock['STATUS']);
Спасибо, то что надо! Только я ещё добавил проверку на изменение статуса. А то статус менялся каждые 5 секунд.
Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Yashalta »

nightwind писал(а): Вт июл 12, 2016 9:58 pm Без лишнего понта и гемороя сделал класс device, с единственным методом check
$online = ping($this->getProperty('ip'));
if ($online==1) {$new="On";} else $new="Off";
$old=$this->getProperty('online');

if ($old !=$new) {
if ($new=="On") {
$this->setProperty("onlineAt",time());
$this->setProperty("onlineAtTime",date("H:i",time()));
$this->setProperty("online",'On');
}
else
{
$this->setProperty("offlineAt",time());
$this->setProperty("offlineAtTime",date("H:i",time()));
$this->setProperty("online",'Off');

}
}

хоть миллион устройств - все быстро и хорошо
Объясните мне, не понимаю до конца!
Я создал класс "device"
Изображение
В нем создал метод "check"
Изображение
В классе создал объект и для него свойство "ip"
Изображение
А что дальше и как этим пользоваться этим не пойму!
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение xor »

Yashalta писал(а):
nightwind писал(а): Вт июл 12, 2016 9:58 pm Без лишнего понта и гемороя сделал класс device, с единственным методом check
$online = ping($this->getProperty('ip'));
if ($online==1) {$new="On";} else $new="Off";
$old=$this->getProperty('online');

if ($old !=$new) {
if ($new=="On") {
$this->setProperty("onlineAt",time());
$this->setProperty("onlineAtTime",date("H:i",time()));
$this->setProperty("online",'On');
}
else
{
$this->setProperty("offlineAt",time());
$this->setProperty("offlineAtTime",date("H:i",time()));
$this->setProperty("online",'Off');

}
}

хоть миллион устройств - все быстро и хорошо
Объясните мне, не понимаю до конца!
Я создал класс "device"
Изображение
В нем создал метод "check"
Изображение
В классе создал объект и для него свойство "ip"
Изображение
А что дальше и как этим пользоваться этим не пойму!
Наверное, выполнить cm('вашОбьект.check');
И свойства анализировать?

Отправлено с моего Redmi 4X через Tapatalk

workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Контактная информация:

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение workpage »

Тоже Устройства OnLine жутко тормозят. В сети около 70 устройств. Интервал проверки 120 сек. (Пробовал разные). Ну за полчаса, минут за 20 где-то он по всем пройдётся... Можно как-то ускорить этот процесс?
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение SmoKE_xDDD »

workpage писал(а): Вт июл 23, 2019 9:25 pm В сети около 70 устройств.
Зачем нужно пинговать 70 устройств?
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Контактная информация:

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение workpage »

SmoKE_xDDD писал(а): Вт июл 23, 2019 9:26 pm
workpage писал(а): Вт июл 23, 2019 9:25 pm В сети около 70 устройств.
Зачем нужно пинговать 70 устройств?
Что бы знать, что подохло/отвалилось/зависло. Иногда бывают неприятные сюрпризы.
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение SmoKE_xDDD »

Страшно, очень страшно, мы не знаем, что это такое! Если бы мы знали, что это такое - но мы не знаем, что это такое
А если серьезно, то стандартными методами MJDM наврятли вы что - то ускорите ибо на каждый ping нужно время и его не ускорить. А вот сократить количество устройств, мне кажется нужно.
У меня например пингуется только:
1) 2 телика
2) Основной ПК
Если не секрет, что у вас там за система такая?)
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение Chainik »

workpage писал(а): Вт июл 23, 2019 9:25 pm Тоже Устройства OnLine жутко тормозят. В сети около 70 устройств. Интервал проверки 120 сек. (Пробовал разные). Ну за полчаса, минут за 20 где-то он по всем пройдётся... Можно как-то ускорить этот процесс?
Попробуйте пинговать скриптом или методом

Код: Выделить всё

if (ping('192.168.0.99')) {
//УСТРОЙСТВО ЖИВО
} else {
//УСТРОЙСТВО ПЕРЕДАЛО ПЛАМЕННЫЙ ПРИВЕТ И НАЛОЖИЛО НА СЕБЯ РУКИ
}
Думаю, будет выполняться быстрее.
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение SmoKE_xDDD »

Chainik писал(а): Вт июл 23, 2019 10:00 pm
workpage писал(а): Вт июл 23, 2019 9:25 pm Тоже Устройства OnLine жутко тормозят. В сети около 70 устройств. Интервал проверки 120 сек. (Пробовал разные). Ну за полчаса, минут за 20 где-то он по всем пройдётся... Можно как-то ускорить этот процесс?
Попробуйте пинговать скриптом или методом

Код: Выделить всё

if (ping('192.168.0.99')) {
//УСТРОЙСТВО ЖИВО
} else {
//УСТРОЙСТВО ПЕРЕДАЛО ПЛАМЕННЫЙ ПРИВЕТ И НАЛОЖИЛО НА СЕБЯ РУКИ
}
Думаю, будет выполняться быстрее.
Не будет. 3 секунды примерно выполняется.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Пингуем устройства. Как быть? Устройства Online.

Сообщение tarasfrompir »

workpage писал(а): Вт июл 23, 2019 9:25 pm Тоже Устройства OnLine жутко тормозят. В сети около 70 устройств. Интервал проверки 120 сек. (Пробовал разные). Ну за полчаса, минут за 20 где-то он по всем пройдётся... Можно как-то ускорить этот процесс?
тем более что наверно система на линуксе ?
а вообщето можна - но это ковыряние ручками в коде надо делать
Спасибо нам ПОМОЖЕТ..!
Ответить