itdoginfo / domain-routing-openwrt

Automatic configuration of Openwrt router for routing by domains. Ansible role and shell script
https://t.me/itdoginfo
232 stars 60 forks source link

ограничение количества попыток скачки списка доменов #10

Closed DimiDr0l closed 3 months ago

itdoginfo commented 5 months ago

Нужно сделать так, чтоб изначальная логика не задевалась и было как раньше по дефолту. И если кому-то это нужно, то он отредактирует параметр и получит эту новую логику. А так мы всем подсовываем 10 попыток, а у кого-то инет появляется на 11ой попытке.

А для какого кейса это актуально?

DimiDr0l commented 5 months ago

актуально когда инет вырубают на пару дней)) всё начинает лагать и даже роутер не ребутнуть пока не прибьешь процесс

DimiDr0l commented 5 months ago

@itdoginfo добавил sleep между попытками, 50 сек думаю будет всем достаточно

itdoginfo commented 5 months ago

@itdoginfo добавил sleep между попытками, 50 сек думаю будет всем достаточно

4G модемы могут искать сеть несколько минут. В зависимости от самого модема и условий.

Нужно сделать что-то типа такого:

  1. Первые пару минут пытается непрерывно выкачать
  2. Потом еще минут 5 с промежутком в 20 секунд
  3. И уже после этого раз в минуту в бесконечность

Пытаться выкачать всегда, просто с большим интервалом. Потому что если инет востановится через 30 минут, службу придётся запускать вручную, чтоб получить домены.

DimiDr0l commented 5 months ago
  1. пункт не реализуем, т.к. как говорил выше, если при старте роутера нет интернета процесс запущенный через /etc/init.d/ с флагом boot не будет завершен, что в свою очередь блокирует нормальную работоспособность роутера, программно не перезагрузить пока не убьешь подвисший процесс. так же, если инета нет больше одного дня из за cron джобы эти зависшие процессы будут копиться и в какой то момент возможно повиснет сам роутер - как раз такой случай больше попадает под роутеры с мобильным интернетом как решение могу предложить увеличить количество попыток, но в целом 50 сек хватает - проверял