iwf-golang-samples
iwf-idl
iwf-golang-samples | iwf-idl | |
---|---|---|
3 | 1 | |
9 | 2 | |
- | - | |
5.5 | 6.1 | |
5 months ago | 8 days ago | |
Go | ||
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
iwf-golang-samples
-
Build reliable, long-running Golang applications faster than ever
See prod use case example: https://github.com/indeedeng/iwf-golang-samples/tree/main/workflows/engagement
-
A Brand New “Workflow as Code” Execution Engine
Maybe you can start with looking at the sample for solving the same "subscription" use case:
https://learn.temporal.io/tutorials/typescript/subscriptions...
https://github.com/indeedeng/iwf-java-samples#product-use-ca...
https://github.com/indeedeng/iwf-golang-samples#product-use-...
Note that you need to consider making changes to workflow -- in Cadence/Temporal, you must use versioning like: https://stackoverflow.com/questions/61298415/how-can-i-versi...
And this versioning/determinism constraints is just a small part of the learning curves for complicated project
iwf-idl
-
A Brand New “Workflow as Code” Execution Engine
We don't have any plan to build other SDKs at this moment.
But it's VERY EASY to build an SDK for iWF so I would encourage anyone interested to build one. I will provide all the support.
A SDK of iWF is very lightweight. It only need to invoke the two WorkflowState APIs from hosting a REST/HTTP service, based on the worker API schema. https://github.com/indeedeng/iwf-idl/blob/main/iwf.yaml#L215
There is no much tricky things inside the SDK that you have to do. For client APIs to call iWF server(the rest of the API defined in the Open API schema), just need to build a wrapper on top of the generated code from Swagger (and it can be optional but it will just make it easier to use).
As a data point, it only took me a week to build GoSDK, including all the tests, by just two IntelliJ IDE and also Goland IDE to translate the Java code into Golang.
The whole community including myself will really appreciate it.
What are some alternatives?
iwf - iWF is an API orchestration platform offering an orchestration coding framework and service for building resilient, fault-tolerant, scalable long-running processes
iwf-java-samples - samples for iwf-java SDK