Об этом проекте
Dotflow — это легковесная библиотека на Python для построения конвейеров выполнения. Пользователи определяют задачи с помощью декоратора @action, связывают их через DotFlow.task.add() и запускают рабочий процесс, вызывая start(). Встроенные функции устойчивости включают повторные попытки, таймауты, экспоненциальное замедление и возобновление на основе контрольных точек для сброшенных рабочих процессов. Поддерживаются четыре режима выполнения из коробки: последовательный (по умолчанию), фоновый (неблокирующий поток), параллельный (все задачи выполняются одновременно) и параллельные группы (группы выполняются параллельно, а задачи внутри группы — последовательно).
Библиотека предлагает встроенные интеграции наблюдаемости с OpenTelemetry (трейсинг, метрики, структурированные журналы) и Sentry (отслеживание ошибок, мониторинг производительности). Включена система подключаемых провайдеров для хранилищ (по умолчанию в памяти, файловая система, AWS S3, Google Cloud Storage), уведомлений (Telegram, Discord), планирования (cron со стратегиями перекрытия: пропуск, очередь, параллельно) и удалённой отчётности на серверах. Также поддерживаются асинхронные функции задач, классовое определение шагов, обратные вызовы задач и рабочих процессов, а также настраиваемая обработка ошибок (остановка при первой ошибке или продолжение выполнения оставшихся задач).
Dotflow предоставляет CLI для запуска, планирования и управления рабочими процессами без написания дополнительного кода и поддерживает развёртывание одной командой на 34+ облачных платформах, включая AWS Lambda, AWS ECS Fargate, Google Cloud Run, Alibaba Cloud Function Compute, Kubernetes, Docker и GitHub Actions. Пользователи могут расширять функциональность, реализуя пользовательские провайдеры для хранилищ, журналов, трассировки, метрик и других возможностей через абстрактные базовые классы.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.