Skip to content

A Go-based framework has been developed to oversee the execution of workflows delineated by directed acyclic graphs (DAGs).

License

Notifications You must be signed in to change notification settings

rhosocial/go-dag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-dag

A framework developed in Go that manages the execution of workflows described by directed acyclic graphs.

Go Reference Mentioned in Awesome Go
GitHub Tag GitHub go.mod Go version Go Report Card GitHub Actions Workflow Status Codecov coverage

Unlike any other DAG framework, GO-DAG does not emphasize concepts such as edges and vertices, but allows users to focus on defining transit(worker and its inputs and outputs). GO-DAG will automatically builds workflows based on user-defined transits and then executes them.

Now this project is fully tested in Go 1.20, 1.21, 1.22, and always be adapted to the latest version.

This project always adheres to zero external dependencies, that is, it only relies on internal code packages (except for testing).

Introduction

GO-DAG consists of several code packages that differ in the complexity of the described workflows.

Currently, the released versions include:

  • workflow/simple: used to describe simple workflows, supports DAGs of any complexity, and has logging capabilities that allow custom transits and log events. Although simple, it can satisfy most scenarios.

In the future, workflows with more complex functions will be introduced.

Reference

If you want to know the specific usage of GO-DAG and more details, please visit this.

If you want real-person online guidance on how to use it, you can:

Gitter

If you want guidance on using this framework to transform your complex tasks into the most efficient workflows, you can start by donating to:

Donate