Всем добрый день
Пишу проект по автоматизации торгов на бирже
Хочу узнать ваше мнение о выбранной мной логике работы программы.
в программе создаю 3 потока используя библеотеку asyncio
поток пользователя
поток сервера
и поток серверного клиента
поток пользователя осуществляет изначальную инициализацию работы сервера.
тут у меня прописаны 2 основные функции
1. регистрация пользователя
При первичном подключении клиента я создаю учетную запись клиента, его сессию, и запускаю 2 задания. Задание на работу сервера и задание на работу серверного клиента. Обмен данными между клиентом и сервером происходит через файлы сессии, а обмен данными между сервером и серверным клиентом происходит через обмен данными между заданиями.
при повторном подключении я провожу идентификацию пользователя и начинаю обмен данными через файлы сессии.
2. обмен данными
я использую 4 файла
В первом файле я храню данные сессии такие как активна сессия или нет время ее создания и время жизни
во втором файле я храню входящие и исходящие данные для клиента
в третьем входящие и исходящие данные для сервера.
в четвертом лог работы сервера какие операции на бирже он совершал
такой подход позволяет продолжить работу сервера и обмен данными с биржевым сервером при отключении клиента, а при повторном подключении восстановить поток данных и просмотреть работу сервера в период когда клиент был отключен.
Хочу услышать ваше мнение о правильности моего подхода и может быть подсказку на более стандартизированные решения.
Всем отписавшимся заранее благодарен