Планировщик «Конвейер»
Соберёшь планировщик задач с зависимостями, расписанием и повторами после ошибок. Запуски моделируются в виртуальном времени.
Для старта: Знаешь функции, списки и словари Python
После регистрации проект откроется в приложении.
Что освоишь на практике
- Хранить реестр задач без мутации исходного списка и без дублей по id
- Строить граф зависимостей и находить задачи, готовые к запуску прямо сейчас
- Выстраивать топологический порядок и честно падать на цикле в зависимостях
подробнее о задачах и навыках
Что получится
Оркестратор фоновых задач «Конвейер» из 25 задач в пяти модулях, на виртуальных минутах вместо реального времени. Бесплатный модуль — реестр задач: создание, добавление без дублей, поиск по id. Premium-модули собирают граф зависимостей с топологической сортировкой и обнаружением циклов, политику повторов с экспоненциальным бэкоффом, cron-расписание с поиском следующего запуска и минут до него, и финальный тик планировщика, который переводит задачи по машине состояний и прогоняет весь конвейер до конца. Каждое решение проверяется на скрытых входных данных.
Для кого
Для тех, кто хочет разобрать механику фонового планировщика — как в Celery, cron или очередях задач — на уровне кода, а не только конфигурации. Уровень средний: нужна база Python с функциями и словарями, дальше логика планировщика строится с нуля по ходу проекта.
Что ещё отработаешь
- Считать экспоненциальную задержку перед повтором и решать, когда исчерпан лимит попыток
- Проверять срабатывание cron-расписания «каждые N минут» и находить следующий запуск
- Собирать список просроченных задач, которые планировщик не успел обработать
- Переводить задачу по машине состояний и прогонять тики планировщика до завершения всего конвейера
Программа проекта
Каждый модуль добавляет часть проекта. В финале ты объединишь их в рабочее решение.
Начни с задачи «Создание задачи»
После регистрации откроется проект «Планировщик «Конвейер»». Начни с модуля «Реестр задач»: редактор и проверка доступны на странице задачи.
5 задач бесплатно
начать бесплатноПосле регистрации проект откроется в приложении.
другие курсы и сборники на этом языке