Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xmapst/autoexecflow

An API for cross-platform custom orchestration of execution steps without any third-party dependencies. Based on DAG, it implements the scheduling function of sequential execution of dependent steps and concurrent execution of non-dependent steps.
https://github.com/xmapst/autoexecflow

batch-script cicd dag executor golang powershell shell

Last synced: about 1 month ago
JSON representation

An API for cross-platform custom orchestration of execution steps without any third-party dependencies. Based on DAG, it implements the scheduling function of sequential execution of dependent steps and concurrent execution of non-dependent steps.

Awesome Lists containing this project

README

        

# AutoExecFlow

[![Go](https://github.com/xmapst/AutoExecFlow/actions/workflows/go.yml/badge.svg)](https://github.com/xmapst/AutoExecFlow/actions/workflows/go.yml)

An `API` for cross-platform custom orchestration of execution steps without any third-party dependencies.
Based on `DAG` , it implements the scheduling function of sequential execution of dependent steps and concurrent execution of non-dependent steps.

It provides `API` remote operation mode, batch execution of `Shell` , `Powershell` , `Python` and other commands,
and easily completes common management tasks such as running automated operation and maintenance scripts, polling processes, installing or uninstalling software, updating applications, and installing patches.

## Operating system remote execution interface

![](images/dag.png)

## Feature

- [x] support `Windows` / `Linux` / `Mac`
- [x] Dynamically adjust the number of workers
- [x] Orchestrating execution based on directed acyclic graph ( `DAG` )
- [x] Supports forced termination of tasks or steps
- [x] Supports suspension and resumption of tasks or steps
- [x] Support timeout for tasks or steps
- [x] Task-level Workspace isolation
- [x] Browse, upload, and download tasks in Workspace
- [x] Self-update, use parameter `--self_url`
- [x] WebShell
- [ ] Support delayed Task
- [ ] Send events before/after a task or step is executed
- [ ] Task or step plugin implementation

## Help
```text
Usage:
AutoExecFlow_linux_amd64_v1 [command]

Available Commands:
client a self-sufficient executor
help Help about any command
server start server

Flags:
--help Print usage
-v, --version Print version information and quit

Use "AutoExecFlow_linux_amd64_v1 [command] --help" for more information about a command.
```

## How to use
### Windows
Open PowerShell in management mode to add services
```powershell
New-Service -Name AutoExecFlow -BinaryPathName "C:\AutoExecFlow\bin\AutoExecFlow_windows_amd64_v1.exe server" -DisplayName "AutoExecFlow " -StartupType Automatic
sc.exe failure AutoExecFlow reset= 0 actions= restart/0/restart/0/restart/0
sc.exe start AutoExecFlow
```

### Linux
```shell
echo > /etc/systemd/system/AutoExecFlow.service <