Страница 15 из 18
Re: Mikrotik
Добавлено: Ср июн 17, 2020 12:41 pm
Bagir
Обновил сценарий, виджет и описание
viewtopic.php?f=8&t=2006&p=120957#p120957
Определение провайдера и Интернета за ним теперь с помощью Detect Internet.
Re: Mikrotik
Добавлено: Ср июн 17, 2020 5:47 pm
Bagir
Вот такой вопрос: Мой цикл getWiFiclients запускается каждые 10 секунд, и лазает в микротик. По этому в логах микротика полно записей user пришел, user ушел. Ну вот просто не нравится мне это. Как победить? Может сделать отдельный цикл, и весь код getWiFiclients переместить в него. Открыть соединение, и не закрывать его до завершения цикла.
Есть мысли по этому поводу?
Re: Mikrotik
Добавлено: Ср июн 17, 2020 5:58 pm
Chainik
Bagir писал(а): Ср июн 17, 2020 5:47 pm
...Открыть соединение, и не закрывать его до завершения цикла.
Есть мысли по этому поводу?
Если есть возможность открыть соединение и не закрывать его, наверное, это один из вариантов уменьшения количества записей.
Я бы еще "страховочный" вызов метода из onNewMinute оптимизировал. Вместо
Код: Выделить всё
setTimeOut('getWiFiclientsTimer',"runScript('getWiFiclients');",10);
записал бы просто
Меньше записей в базу по поводу таймеров, нет рекурсии, нет задержки в исполнении самого "onNewMinute". Я не программист, если что, так что больно не бейте

Re: Mikrotik
Добавлено: Ср июн 17, 2020 6:47 pm
xor
Chainik писал(а): Ср июн 17, 2020 5:58 pm
Bagir писал(а): Ср июн 17, 2020 5:47 pm
...Открыть соединение, и не закрывать его до завершения цикла.
Есть мысли по этому поводу?
Если есть возможность открыть соединение и не закрывать его, наверное, это один из вариантов уменьшения количества записей.
Я бы еще "страховочный" вызов метода из onNewMinute оптимизировал. Вместо
Код: Выделить всё
setTimeOut('getWiFiclientsTimer',"runScript('getWiFiclients');",10);
записал бы просто
Меньше записей в базу по поводу таймеров, нет рекурсии, нет задержки в исполнении самого "onNewMinute". Я не программист, если что, так что больно не бейте
говорят, сейчас не работают сэйф у людей. а запуск через таймер гарантирует запуск скрипта отдельным потоком
Re: Mikrotik
Добавлено: Ср июн 17, 2020 7:53 pm
Chainik
xor писал(а): Ср июн 17, 2020 6:47 pm
...
говорят, сейчас не работают сэйф у людей. а запуск через таймер гарантирует запуск скрипта отдельным потоком
Прям "задели меня за живое" слухи о неработоспобности Safe. Полез проверять. Действительно не работает. А почему??? Даже в базе знаний написано: "runScriptSafe($id,$data); -- выполняет скрипт безопасно в фоне".
Надо что-то подправить в консерватории...
Re: Mikrotik
Добавлено: Ср июн 17, 2020 8:36 pm
xor
Chainik писал(а):xor писал(а): Ср июн 17, 2020 6:47 pm
...
говорят, сейчас не работают сэйф у людей. а запуск через таймер гарантирует запуск скрипта отдельным потоком
Прям "задели меня за живое" слухи о неработоспобности Safe. Полез проверять. Действительно не работает. А почему??? Даже в базе знаний написано: "runScriptSafe($id,$data); -- выполняет скрипт безопасно в фоне".
Надо что-то подправить в консерватории...
Я из-за этого и не обновляюсь с февраля ( пишут, что и онньюминуте из-за этого же барахлит
Отправлено с моего Redmi 4X через Tapatalk
Re: Mikrotik
Добавлено: Ср июн 17, 2020 8:44 pm
Bagir
Chainik писал(а): Ср июн 17, 2020 5:58 pmЕсли есть возможность открыть соединение и не закрывать его, наверное, это один из вариантов уменьшения количества записей.
Кроме как цикл, я не вижу способа открыть и не закрывать соединение. По сути мы имеем дело с отдельным процессом. Но возможно есть альтернативы.
Chainik писал(а): Ср июн 17, 2020 5:58 pmЯ бы еще "страховочный" вызов метода из onNewMinute оптимизировал
Я выбрал вариант с таймером по двум причинам. 1. Если время таймера и время запуска onNewMinute будут где то рядом, то произойдет двойной вызов скрипта. А если в onNewMinute прописан таймер, то он просто заменит существующий таймер, и это будет как то "глаже". 2. Таймеры запускают код в отдельном процессе.
Chainik писал(а): Ср июн 17, 2020 5:58 pmМеньше записей в базу по поводу таймеров, нет рекурсии
Мне просто нужны частые проверки WiFi устройств. раз в 10 секунд. Поэтому от рекурсии не уйти. Вот и смотрю в сторону отдельного цикла. Когда подхожу к входной двери с телефоном, меня почти сразу пускают домой

Re: Mikrotik
Добавлено: Ср июн 17, 2020 8:57 pm
Bagir
Обдумываю дальше вариант с отдельным циклом. При каждой итерации мы можем контролировать, есть ли соединение с микротиком. Если по каким то причинам, оно грохнулось, то мы его пересоздадим. тут всё без проблем.
Но вот был у меня случай, когда на микротике помер блок питания, и Алиса каждые 10 секунд стучалась в закрытую дверь. При этом вся система, можно сказать, словила конкретного клина. Раз уж переделывать, то переделывать хорошо.
Какие мысли есть?
Я вот думаю, пробовать устанавливать соединение не каждые 10 секунд, а раз в минуту. Да и процесс, работающий в отдельном цикле, не должен сильно навредить МД.
Re: Mikrotik
Добавлено: Ср июн 17, 2020 9:31 pm
xor
Bagir писал(а): Ср июн 17, 2020 8:57 pm
...
Но вот был у меня случай, когда на микротике помер блок питания, и Алиса каждые 10 секунд стучалась в закрытую дверь. При этом вся система, можно сказать, словила конкретного клина. Раз уж переделывать, то переделывать хорошо.
Какие мысли есть?
...
а он заведен у вас как устройство онлайн? такие устройства пингуются системой и можно поймать его отвал, в т.ч., и по питанию
Re: Mikrotik
Добавлено: Чт июн 18, 2020 7:11 am
Amarok
Bagir писал(а): Вс июн 14, 2020 12:49 pm
Постараюсь к вечеру выложить свой вариант опроса микротика с виджетом и классом.
...
Оформлена html страница с клиентами и точками.
Фоточки будут?