ForSreTink / sre_sheduller

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

workScheduler - Задание 2 - Нетривиальный планировщик календаря работ

Видео презентация доступна по ссылке

https://disk.yandex.ru/d/YaPkJRLNK-YGZw

Описание системы (сервиса) В крупной ИТ-компании несколько дата центров, некоторые из которых состоят более чем из одной зоны доступности. В инфраструктуре большое количество сервисных направлений: сеть, СХД, виртуализация и т.д. В каждом сервисном направлении присутствует как автоматизация - регулярное выполнение небольших рутинных задач ботами, например, по cron расписанию, так и необходимость проведения работ в ручном режиме. Ручные работы требуют большого внимания, т.к. их проводят люди и работы могут как отменяться (человек заболел) или переноситься (бизнес решил провести распродажу), так и получать продления после начала (ребилд массива занял больше времени, чем ожидали). Важно планировать работы таким образом, чтобы они не пересекались между собой, не проводились сразу во всех зонах доступности и при этом учитывать необходимость наличия автоматизаций, запускающих свои задачи по расписанию, но также подчиняющихся общим ограничениям. Разработать алгоритм работы для такой системы - ваша задача.

Конфигурация

Пример конфигурации лежит в файле config.yml

Запуск

make run-compose - соберет сервисы из docker-compose.yaml и запустит приложение

localhost:8080/swagger - свагер localhost:8081 - монго-экспресс

About

License:Apache License 2.0


Languages

Language:Go 93.0%Language:JavaScript 4.3%Language:HTML 1.4%Language:Dockerfile 0.9%Language:Makefile 0.3%Language:Shell 0.1%