Open
Description
Cadence Go client has been used in production for over two years. While it has been pretty well received there are known issues which we would like to fix in the next major (possibly incompatible release).
The known issues to address:
- Allow registration of activities struct with a worker (Allow registration of activities struct with a worker #600)
- Get rid of static register calls
- Add a code generator to allow calling activities by the interface they implement as it is done in Java client.
- Add middleware to allow intercepting workflow API calls like (ExecuteActivity)
- Consider not using context for passing ActivityOptions and ChildWorkflowOptions
- Channel.Receive should return error as this calls involves deserialization when channel is a signal one
- Add Channel.ReceiveWithTimeout
- Selector API can be simplified. For example selector.AddTimeout(duration) can be added.
Feel free to add your ideas about possible improvements.