https://github.com/blastbao/miniflow
a command line task executor, puts tasks in a dag and resolve dependencies.
https://github.com/blastbao/miniflow
Last synced: about 1 month ago
JSON representation
a command line task executor, puts tasks in a dag and resolve dependencies.
- Host: GitHub
- URL: https://github.com/blastbao/miniflow
- Owner: blastbao
- License: mit
- Created: 2021-04-30T05:58:41.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-01T13:06:29.000Z (over 4 years ago)
- Last Synced: 2024-11-11T10:42:18.146Z (7 months ago)
- Homepage:
- Size: 45.9 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-star - miniflow
README
# miniflow
miniflow is a simple command line task executor.
It puts tasks in a dag and resolve dependencies between them.
## Features
- find task dependency cycle
- resolve task dependencies
- execute tasks in parallel
- report failed tasks and downstream tasks## Usage
1. define tasks in json format
```json
{
"name": "miniflow0",
"parallel": 2,
"tasks": [
{"id": 0, "cmd": "echo task0; sleep 5", "downstream":[2]},
{"id": 1, "cmd": "echo task1; exit 1", "upstream":[0]},
{"id": 2, "cmd": "echo task2; sleep 3"},
{"id": 3, "cmd": "echo task3; sleep 3", "upstream": [0]},
{"id": 4, "cmd": "echo task4", "upstream": [1]},
{"id": 5, "cmd": "echo task5", "upstream": [4, 3]}
]
}
```2. run miniflow
```bash
go build && chmod +x miniflow
./miniflow /path/to/tasks.json
```