go-taskflow@v.0.1.0 is released! The newest version supports cyclic tasking, making go-taskflow only a DAG tasking framework but also a General-purpose Task-parallel Programming Framework.
Any feedback\advice\feature requests\contribution are all welcome.
What is go-taskflow
Feature
- High extensibility: Easily extend the framework to adapt to various specific use cases.
- Native Go’s concurrency model: Leverages Go’s goroutines to manage concurrent task execution effectively.
- User-friendly programming interface: Simplify complex task dependency management using Go.
- Static\Subflow\Conditional\Cyclic tasking: Define static tasks, condition nodes, nested subflows and cyclic flow to enhance modularity and programmability.
- Priority Task Schedule: Define tasks’ priority, higher priority tasks will be scheduled first.
- Built-in visualization & profiling tools: Generate visual representations of tasks and profile task execution performance using integrated tools, making debugging and optimization easier.
Use Cases
- Data Pipeline: Orchestrate data processing stages that have complex dependencies.
- Workflow Automation: Define and run automation workflows where tasks have a clear sequence and dependency structure.
- Parallel Tasking: Execute independent tasks concurrently to utilize CPU resources fully.
Example
import latest version: go get -u
github.com/noneback/go-taskflow