Доброго дня, профессионалы!
Я в питоне новичок, пишу простенького бота для своих нужд и у меня возникла дилемма, как сделать правильно:
а) засунуть почти всё содержимое бота в цикл
б) попытаться решить задачу через потоки
Немного о боте: бот по нажатию 3-4 кнопок проверяет на текущий момент доступность тех или иных узлов, которые перечислены в файле настроек. Что мне хотелось бы: чтобы бот в цикле проверял доступность всех имеющихся в настройках узлов и выдавал проблему единоразово только если статус устройства поменялся.
Ниже структура бота:
Подключение библиотек
Подключение клавиатуры с кнопками /http /ssl /rdp
Функция отправки сообщений всем участникам чата что бот запущен
Функция проверки файлов настроек
Функция проверки списков доступа к чату
# точка №1
Функция проверкп http/https узлов из файла настроек
Функция проверки SSL узлов из файла настроек
Функция проверки RDP узлов из файла настроек
Функция обработки нажатия кнопки /http
вызов функции http/https и вывод в чат статуса доступности узлов
Функция обработки нажатия кнопки /ssl
вызов функции ssl и вывод в чат статуса доступности узлов
Функция обработки нажатия кнопки /rdp
вызов функции rdp и вывод в чат статуса доступности узлов
Функция проверки состояния всех узлов
вызов функции http/https
вызов функции ssl
вызов функции rdp
создание списка недоступных устройств/или изменение статуса и вывод в чат боту
# точка №3
bot.polling()
# точка №2
Так вот, я подумал, что мою хотелку можно реализовать так:
а) если заключить в бесконечный цикл список функций между точкой №1 и №2
б) или в точке №3 создать поток, где вызывать бесконечно функцию "Функция проверки состояния всех узлов"?
Как правильно, а если делать как в пункте "б", то как это лучше реализовать?