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

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

Модератор: immortal

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

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

Сообщение Lerych » Ср фев 20, 2019 8:01 pm

fandaymon писал(а):
Ср фев 20, 2019 12:49 am

Ну, например, перед SQLUpdate('Sockets', $sock);
написать

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

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

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

Сообщение Yashalta » Пн июл 15, 2019 3:32 pm

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
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Вт июл 16, 2019 5:22 pm

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

За это сообщение автора xor поблагодарил:
Yashalta (Вт июл 16, 2019 10:03 pm)
Рейтинг: 1.16%
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

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

Сообщение workpage » Вт июл 23, 2019 9:25 pm

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

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

Сообщение SmoKE_xDDD » Вт июл 23, 2019 9:26 pm

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

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

Сообщение workpage » Вт июл 23, 2019 9:33 pm

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

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

Сообщение SmoKE_xDDD » Вт июл 23, 2019 9:40 pm

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

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

Сообщение Chainik » Вт июл 23, 2019 10:00 pm

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
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

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

Сообщение SmoKE_xDDD » Вт июл 23, 2019 10:07 pm

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
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

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

Сообщение tarasfrompir » Вт июл 23, 2019 10:08 pm

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