Добрый день.
Делаю проектик на Python и у меня возникли некоторые вопросы как правильно организовать программу.
Можно сказать, что я новичок в Python.
Суть в следующем. Есть задача, которая работает с файлами на диске, читает их, обрабатывает данные и отправляет в сеть по UDP. Делает она это периодически N раз в секунду. Через MQTT приходят команды типа остановить, читать определенный файл и т.д.
Буду использовать библиотеку asyncio. Полного понимания как с ней работать пока нет. Как асинхронно получать данные через MQTT я разобрался.
А вот с остальным пока не понятно. Вопрос именно как организовать структуру программы, где какие таски (в терминологии asyncio) использовать, как передавать команды из MQTT таску который работает с файлами и как организовать периодическую его работу.
Т.е. n-ное количество раз в секунду считывает данные из файла, обрабатывает их отправляет по сети. Асинхронно может прилететь команда на остановку, запуск или чтение другого файла.