Mikrotik
Модератор: immortal
- Bagir
- Сообщения: 1614
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Mikrotik
Обновил сценарий, виджет и описание viewtopic.php?f=8&t=2006&p=120957#p120957
Определение провайдера и Интернета за ним теперь с помощью Detect Internet.
Определение провайдера и Интернета за ним теперь с помощью Detect Internet.
- Bagir
- Сообщения: 1614
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Mikrotik
Вот такой вопрос: Мой цикл getWiFiclients запускается каждые 10 секунд, и лазает в микротик. По этому в логах микротика полно записей user пришел, user ушел. Ну вот просто не нравится мне это. Как победить? Может сделать отдельный цикл, и весь код getWiFiclients переместить в него. Открыть соединение, и не закрывать его до завершения цикла.
Есть мысли по этому поводу?
Есть мысли по этому поводу?
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Mikrotik
Если есть возможность открыть соединение и не закрывать его, наверное, это один из вариантов уменьшения количества записей.
Я бы еще "страховочный" вызов метода из onNewMinute оптимизировал. Вместо
Код: Выделить всё
setTimeOut('getWiFiclientsTimer',"runScript('getWiFiclients');",10);
Код: Выделить всё
runScriptSafe('getWiFiclients');
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Mikrotik
говорят, сейчас не работают сэйф у людей. а запуск через таймер гарантирует запуск скрипта отдельным потокомChainik писал(а): ↑Ср июн 17, 2020 5:58 pmЕсли есть возможность открыть соединение и не закрывать его, наверное, это один из вариантов уменьшения количества записей.
Я бы еще "страховочный" вызов метода из onNewMinute оптимизировал. Вместозаписал бы простоКод: Выделить всё
setTimeOut('getWiFiclientsTimer',"runScript('getWiFiclients');",10);
Меньше записей в базу по поводу таймеров, нет рекурсии, нет задержки в исполнении самого "onNewMinute". Я не программист, если что, так что больно не бейтеКод: Выделить всё
runScriptSafe('getWiFiclients');
- Рейтинг: 1.16%
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Mikrotik
Прям "задели меня за живое" слухи о неработоспобности Safe. Полез проверять. Действительно не работает. А почему??? Даже в базе знаний написано: "runScriptSafe($id,$data); -- выполняет скрипт безопасно в фоне".
Надо что-то подправить в консерватории...
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Mikrotik
Я из-за этого и не обновляюсь с февраля ( пишут, что и онньюминуте из-за этого же барахлитChainik писал(а):Прям "задели меня за живое" слухи о неработоспобности Safe. Полез проверять. Действительно не работает. А почему??? Даже в базе знаний написано: "runScriptSafe($id,$data); -- выполняет скрипт безопасно в фоне".
Надо что-то подправить в консерватории...
Отправлено с моего Redmi 4X через Tapatalk
win10 connect https://connect.smartliving.ru/profile/303
- Bagir
- Сообщения: 1614
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Mikrotik
Кроме как цикл, я не вижу способа открыть и не закрывать соединение. По сути мы имеем дело с отдельным процессом. Но возможно есть альтернативы.
Я выбрал вариант с таймером по двум причинам. 1. Если время таймера и время запуска onNewMinute будут где то рядом, то произойдет двойной вызов скрипта. А если в onNewMinute прописан таймер, то он просто заменит существующий таймер, и это будет как то "глаже". 2. Таймеры запускают код в отдельном процессе.
Мне просто нужны частые проверки WiFi устройств. раз в 10 секунд. Поэтому от рекурсии не уйти. Вот и смотрю в сторону отдельного цикла. Когда подхожу к входной двери с телефоном, меня почти сразу пускают домой
- Bagir
- Сообщения: 1614
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Mikrotik
Обдумываю дальше вариант с отдельным циклом. При каждой итерации мы можем контролировать, есть ли соединение с микротиком. Если по каким то причинам, оно грохнулось, то мы его пересоздадим. тут всё без проблем.
Но вот был у меня случай, когда на микротике помер блок питания, и Алиса каждые 10 секунд стучалась в закрытую дверь. При этом вся система, можно сказать, словила конкретного клина. Раз уж переделывать, то переделывать хорошо.
Какие мысли есть?
Я вот думаю, пробовать устанавливать соединение не каждые 10 секунд, а раз в минуту. Да и процесс, работающий в отдельном цикле, не должен сильно навредить МД.
Но вот был у меня случай, когда на микротике помер блок питания, и Алиса каждые 10 секунд стучалась в закрытую дверь. При этом вся система, можно сказать, словила конкретного клина. Раз уж переделывать, то переделывать хорошо.
Какие мысли есть?
Я вот думаю, пробовать устанавливать соединение не каждые 10 секунд, а раз в минуту. Да и процесс, работающий в отдельном цикле, не должен сильно навредить МД.
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Mikrotik
а он заведен у вас как устройство онлайн? такие устройства пингуются системой и можно поймать его отвал, в т.ч., и по питанию
win10 connect https://connect.smartliving.ru/profile/303
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Mikrotik
Фоточки будут?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165