https://github.com/indeedeng/iwf-golang-sdk
Golang SDK for iWF engine
https://github.com/indeedeng/iwf-golang-sdk
Last synced: about 1 year ago
JSON representation
Golang SDK for iWF engine
- Host: GitHub
- URL: https://github.com/indeedeng/iwf-golang-sdk
- Owner: indeedeng
- License: apache-2.0
- Created: 2022-10-14T02:26:02.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-28T23:06:40.000Z (about 1 year ago)
- Last Synced: 2025-05-07T23:40:07.017Z (about 1 year ago)
- Language: Go
- Size: 23 MB
- Stars: 13
- Watchers: 12
- Forks: 8
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# iWF Golang SDK
[](https://pkg.go.dev/github.com/indeedeng/iwf-golang-sdk)
[](https://goreportcard.com/report/github.com/indeedeng/iwf-golang-sdk)
[](https://app.codecov.io/gh/indeedeng/iwf-golang-sdk/branch/main)
[](https://github.com/indeedeng/iwf-golang-sdk/actions/workflows/ci-integ-test.yml)
Golang SDK for [iWF workflow engine](https://github.com/indeedeng/iwf)
See [samples](https://github.com/indeedeng/iwf-golang-samples) for how to use this SDK.
## Contribution
See [contribution guide](CONTRIBUTION.md)
## Development Plan
### 1.0
- [x] Start workflow API
- [x] Executing `start`/`decide` APIs and completing workflow
- [x] Parallel execution of multiple states
- [x] Timer command
- [x] Signal command
- [x] SearchAttribute
- [x] DataAttributes
- [x] StateExecutionLocal
- [x] Signal workflow API
- [x] Get workflow result API
- [x] Search workflow API
- [x] Describe workflow API
- [x] Stop workflow API
- [x] Reset workflow API
- [x] Command type(s) for inter-state communications (e.g. internal channel)
- [x] More workflow start options: IdReusePolicy, cron schedule, retry
- [x] StateOption: Start/Decide API timeout and retry policy
- [x] Reset workflow by stateId/StateExecutionId
- [x] More workflow start options: initial search attributes
### 1.1
- [x] Skip timer API for testing/operation
- [x] Decider trigger type: any command combination
### 1.2
- [x] API improvements to reduce boilerplate code
### 1.3
- [x] Support failing workflow with results
- [x] Improve workflow uncompleted error return(canceled, failed, timeout, terminated)
### 1.4
- [x] Renaming some concepts/APIs with breaking changes(see release notes)
- [x] Support workflow RPC
- [x] PARTIAL_WITH_EXCLUSIVE_LOCK persistence loading type