This repository has been archived by the owner on Jan 17, 2025. It is now read-only.
Use conductor actions to implement compositions and remove Redis dependency
- Composer generates conductor actions to implement compositions. This resolves double billing and restores substitution. Compositions support blocking invocations and may be exposed as web actions.
- Redis is no longer required to run compositions.
- The JSON serialization format has evolved to retain the original code structure (sequences, conditionals...). The compilation to finite state machines now happens when the action container is initialized.
- The scheduling code is stitched to the composition JSON to produce a self-contained action that implements the composition, resolving possible versioning or dangling reference issues.
- New constructs have been added including
finally
anddowhile
. - A composition may include the definition of component actions and compositions.
- A compose shell script is provided to serialize compositions to the JSON format and deploy them. An extension of the Javascript client for OpenWhisk can do the same. Deployment takes care of nested actions and compositions.
- The composer module regroups the client-side and server-side code in one file.