luocfprime/labtasker
luocfprime
Python-очередь задач для параллельного запуска независимых ML-экспериментов, инференса и оценки на нескольких машинах с повторами и восстановлением после сбоев.
Labtasker — небольшая Python-очередь задач для параллельного запуска независимых ML-задач: инференса, оценки и экспериментов. Нужна командам и отдельным разработчикам, которым требуется распределять задания по процессам и машинам без собственной инфраструктуры.
Ключевые возможности
- Параллельный запуск одной очереди задач несколькими воркерами на разных машинах
- Добавление, изменение приоритета и отмена задач без остановки воркеров
- Автоматический повтор упавших задач и восстановление работы при остановке воркера
- Структурированные записи задач: аргументы, метаданные, статус, ошибки и результат
- Архивация завершённых задач для хранения результатов вне рабочих списков
- Наблюдаемость воркеров: где запущены и последняя телеметрия ресурсов от пользователя
Для каких задач подходит
- Пакетный запуск ML-инференса на нескольких машинах с распределением заданий
- Оценка моделей на наборе конфигураций с автоматическим повтором сбоев
- Проведение экспериментов с возможностью менять очередь на ходу без перезапуска воркеров
- Обёртка существующей команды без изменения кода для постановки в очередь
- Передача управления очередью задач кодирующему агенту через Agent Skill и документированный API
Подробнее
Labtasker — это Python-очередь задач, рассчитанная на независимые ML-задания: инференс, оценку и эксперименты. Воркеры забирают задачи из общей очереди, поэтому одну и ту же очередь можно запускать в нескольких процессах и на нескольких машинах. В отличие от систем, которые пытаются быть планировщиком ресурсов или базой метрик, Labtasker остаётся лёгким слоем между вашим кодом и запуском: он не управляет ресурсами кластера, а даёт динамическое управление очередью, восстановление после сбоев и структурированные записи задач.
Подключение занимает несколько строк в существующем Python-коде, а уже готовую команду можно обернуть без изменений. Каждая задача хранит аргументы, метаданные, статус, ошибки и структурированный результат в одном месте; завершённые задачи можно архивировать, чтобы они не мешали в ежедневных списках. Упавшие задачи повторяются автоматически, а воркер можно перезапустить без повторного выполнения уже завершённых задач. Поведение жизненного цикла покрыто модульными и сквозными тестами.
Для агентных сценариев в репозитории есть Agent Skill и документация, читаемая агентами, а также неинтерактивный CLI и API — это позволяет передать операции с очередью кодирующему агенту. Стоит учитывать, что инструмент ориентирован именно на независимые задачи: он не заменяет планировщик ресурсов и не ведёт базу метрик, а телеметрия воркеров ограничена последними данными, которые сообщил сам пользователь.
Частые вопросы
Как установить labtasker?
Отдельной команды установки в README нет — склонируйте репозиторий и следуйте инструкции из README:
git clone https://github.com/luocfprime/labtasker.gitКакие задачи решает labtasker?
Labtasker решает задачу параллельного запуска независимых ML-задач — инференса, оценки и экспериментов — на нескольких процессах и машинах. Он берёт на себя повтор упавших задач, восстановление после остановки воркера и хранение структурированных записей о каждой задаче.
Какие требования к окружению для Labtasker?
Нужен Python 3.10 или новее. Инструмент распространяется как пакет на PyPI и ставится в существующее Python-окружение.
Можно ли управлять очередью Labtasker из кодирующего агента?
Да, в репозитории есть Agent Skill и документация, читаемая агентами, а также неинтерактивный CLI и API — агент может выполнять операции с очередью от начала до конца.
Под какой лицензией распространяется Labtasker?
Проект распространяется под лицензией Apache-2.0.
О репозитории
Язык
Лицензия
Звёзды
39
Форки
6
Открытые issues
2
Контрибьюторы
0
Создан
01.11.2024
Обновлён
24.10.2026