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

Теги