Проект разработан мной с нуля для компании RTSoft (
https://www.rtsoft.ru).
Protection Cloud - это платформа для облачных вычислений задач в сфере энергетики.
Основные цели проекта:
- Запускать одновременно сотни задач на отдельных серверах (из-за особенностей лицензирования ПО, на каждом сервере запускается лишь одна копия софта, которая вычисляет одну задачу. Сервера на Windows)
- Разработать панель администратора из которой можно управлять задачами: отслеживать прогресс выполнения, отменять задачи, задавать задачам приоритет выполнения. А так же следить за работой серверов (воркеров)
- Спроектировать систему с учетом того, что задачи могут выполняться от нескольких минут до нескольких часов.
- Обеспечить управление воркерами из панели администрирования: включение\отключение определенных воркеров, отмена текущих задач.
- Оповещение о прогрессе выполнения задач через websockets.
Использованные технологии: Python, FastAPI, SqlAlchemy, Multiprocessing, RabbitMQ, PostgreSQL, Микросервисная архитектура, pytest, Docker