For an embeddable workflow engine for orchestrating pipelines, the first results are activiti/activiti, oban-bg/oban and netflix/metaflow (Metaflow is an embeddable Python workflow engine that defines pipelines as DAGs and supports job execution, checkpointing, and error recovery, but its focus on ML/MLOps and heavier infrastructure means it may not be the lightweight, general-purpose library you are looking for). langchain-ai/langgraph and taskforcesh/bullmq round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “embeddable workflow engine to orchestrate jobs and pipelines”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Activiti is a workflow engine designed to model, execute, and manage business processes using the BPMN 2.0 standard. It functions as a Java-based framework that embeds process orchestration directly into enterprise applications and microservices to coordinate sequences of tasks and human-centric interactions. The platform utilizes a persistent state machine to maintain the status of long-running workflows in a relational database, ensuring continuity across system restarts. It manages high-volume environments through optimistic concurrency control, which tracks versioning tokens to prevent da
Activiti is a Java-based workflow engine library that embeds process orchestration into applications with state persistence and event-driven triggers, fitting the embeddable engine requirement, though its BPMN-based approach is more comprehensive than the lightweight DAG-centric style the visitor may prefer.
Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job storage and reliable execution across multiple nodes. It serves as a PostgreSQL-backed background worker and job queue, coordinating task execution and concurrency through a relational database to ensure delivery guarantees. The system differentiates itself through a distributed workflow orchestrator capable of managing multi-step processing pipelines, dependent job sequencing, and shared context. It provides advanced orchestration tools including job batching, chunked processi
Oban is an embeddable Elixir library that doubles as a distributed workflow orchestrator with job dependency sequencing, batching, retry handling, and PostgreSQL-backed state persistence, which directly matches the need for a lightweight, embeddable workflow engine for job execution and pipeline steps.
Metaflow is a Python machine learning framework and MLOps workflow orchestrator designed to manage the lifecycle of data pipelines from local prototyping to production. It serves as a distributed compute manager and an experiment tracking system, enabling the creation of reproducible pipelines that transition between development and high-availability production environments. The framework distinguishes itself through an integrated checkpointing system that automatically persists intermediate data artifacts to remote storage, allowing failed runs to be resumed from the last successful step. It
Metaflow is an embeddable Python workflow engine that defines pipelines as DAGs and supports job execution, checkpointing, and error recovery, but its focus on ML/MLOps and heavier infrastructure means it may not be the lightweight, general-purpose library you are looking for.
LangGraph is a framework for building stateful, multi-step agentic workflows by modeling application logic as a directed graph. It provides a runtime environment where complex tasks are orchestrated through interconnected nodes and edges, allowing developers to manage state transitions, persistent memory, and control flow across long-running automated processes. The platform distinguishes itself through its native support for human-in-the-loop automation, enabling developers to define breakpoints that pause execution for manual review, modification, or approval. It also features checkpoint-ba
LangGraph is a Python framework that models workflows as directed graphs with state management and persistence, making it exactly the kind of embeddable DAG-based workflow engine library you need for orchestrating job execution and pipeline steps within an application.
BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic
BullMQ is a Redis-backed library that orchestrates job execution with parent-child dependencies, making it a solid embeddable workflow engine for defining DAG-style pipelines and handling scheduling, retries, and persistence — exactly the kind of lightweight, library-based task orchestrator you're looking for.
Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows from single machines to large clusters. It functions as a cluster resource manager that orchestrates computational logic by representing tasks and their dependencies as directed acyclic graphs. This architecture allows the system to automate the distribution of workloads across available hardware while managing complex execution requirements. The project distinguishes itself through a lazy evaluation engine that defers data operations until they are explicitly requested, enabl
Dask is an embeddable library that defines and executes tasks as a directed acyclic graph, fitting the core need for an in-application workflow engine with DAG-based scheduling and execution, though it is designed for data science parallelism rather than lightweight general-purpose pipeline orchestration.
Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency graphs. It provides a programming model that organizes computational work into directed acyclic graphs, enabling developers to manage concurrency, resource scheduling, and task dependencies across multi-core CPUs and GPU accelerators. The framework distinguishes itself through its ability to orchestrate heterogeneous systems, allowing for the integration of hardware-accelerated kernels and memory operations into unified execution pipelines. It supports dynamic runtime subflow
Taskflow is an embeddable C++ library that lets you define and execute DAG-based workflows for parallel task scheduling, which matches the core need for a lightweight, embedded workflow engine—though it focuses on high‑performance computing rather than job‑style retry, persistence, or event‑driven triggers.
Flowable Engine is a business process management platform and workflow engine used to automate business processes and orchestrate human and system activities. It provides a suite for modeling, deploying, and executing complex workflows and decision rules across distributed environments, including a dedicated case management system for unstructured processes and ad-hoc activities. The platform is a Kubernetes native workflow orchestrator that can be deployed as a containerized service using manifests and Helm charts. It supports an embedded runtime model, allowing the engine to integrate as a
Flowable is a Java-based workflow engine that supports an embedded runtime model for integration into applications, covering BPMN-based DAG definitions, job scheduling, retry logic, and persistence, but it leans toward a full BPM platform rather than a lightweight, minimal library.
Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job orchestration framework that offloads heavy processing to background workers using a SQL-backed processor to manage job state across multiple servers. The framework distinguishes itself through reliable task scheduling, where job metadata and arguments are persisted in an external database to ensure tasks survive application restarts. It supports advanced orchestration patterns, including the ability to chain dependent tasks so that a child job triggers automatically upon the successful
Hangfire is a background job scheduling library for .NET that handles task scheduling, retries, and chaining, but it lacks explicit DAG-based workflow definition and event-driven triggers, making it a close but imperfect fit for an embeddable workflow engine.
Agenda is a persistent background job scheduler and distributed task runner for Node.js applications. It functions as a cron job manager and task queue that ensures background processes survive application restarts by storing job state and metadata in a database. The system coordinates execution across multiple worker instances using distributed locking mechanisms to prevent duplicate processing. It supports flexible scheduling via cron expressions or specific dates and includes a pluggable storage interface for backends such as MongoDB, PostgreSQL, and Redis. The platform provides controls
Agenda is a background job scheduler and task runner for Node.js, which covers scheduling, retry, and persistence — but it does not provide DAG-based workflow definition or pipeline orchestration, so it is not a workflow engine itself.
Trigger.dev is a platform for building durable, event-driven background workflows. It functions as a workflow engine that allows developers to define complex, long-running processes using standard code rather than proprietary configuration languages. By utilizing a durable execution model, the system checkpoints progress, ensuring that tasks can automatically resume from the exact point of failure after a crash or interruption. The platform distinguishes itself through its focus on stateful, multi-step automation and real-time feedback. It supports the orchestration of AI agents and external
Trigger.dev is a platform for durable event-driven background workflows, but it is a cloud service rather than a lightweight library you embed into your own application, which is what this search asks for.
gocron is a task scheduling library for Go designed to automate recurring tasks using crontab expressions, fixed durations, and specific calendar dates. It functions as a concurrent job manager and execution monitor that tracks task lifecycles and performance. The project provides distributed task scheduling through leader election and distributed locking to prevent duplicate job execution across multiple nodes. It further distinguishes itself with a concurrency management system that implements singleton constraints and global execution quotas to protect system resources. The scheduler cove
gocron is a Go task-scheduling library for recurring cron-style jobs, not a workflow engine — it lacks the DAG-based step orchestration, pipeline sequencing, and workflow-level state persistence you need for integrating job pipelines into an application.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| activiti/activiti | 10.5K | Java | apache-2.0 | |
| oban-bg/oban | 3.8K | Elixir | apache-2.0 | |
| netflix/metaflow |
| 9.8K |
| Python |
| apache-2.0 |
| langchain-ai/langgraph | 34.9K | Python | MIT |
| taskforcesh/bullmq | 8.4K | TypeScript | mit |
| dask/dask | 13.7K | Python | bsd-3-clause |
| taskflow/taskflow | 12K | C++ | NOASSERTION |
| flowable/flowable-engine | 9.3K | Java | Apache-2.0 |
| hangfireio/hangfire | 10K | C# | other |
| agenda/agenda | 9.7K | HTML | NOASSERTION |