Comments (3)
I implement these functions based on the registry structure cache mapping.
from cadence.
Hey. Could you elaborate what is your usecase?
I'm not sure I understand.
- Cadence provide a way to schedule workflow executions and is meant to tolerate a single server outage with a retry. I don't think deregistering is an intended behaviour. How would Cadence react if the workflow started and you decided to uninstall workflowType?
- All workflows should be idempotent, so running them again with the same arguments should lead to the same result, for any changes your code should use versioning to ensure replayability. How can Cadence ensure the replayability of workflows if you update workflowType?
- This could make sense, though I'm not sure I understand the usecase.
from cadence.
@3vilhamster Thanks.
My scenario is to combine multiple HTTP interfaces into a workflow, including registering, uninstalling, or updating workflows. I require the entire process to be dynamic, rather than sending new versions every time changes are made.
I have already implemented the corresponding requirements locally. The general processing process is as follows:
- Dynamically generate corresponding functions based on GO plugins, where each plugin corresponds to a complete workflow processing logic.
- Dynamically register, uninstall, or update workflows based on the above functions, although cadence currently does not support uninstallation or update workflows. So I implemented it by modifying the cadence source code, first defining three interfaces in the cadence/worker that correspond to uninstallation, update, and detecting whether the workflow has been registered through name. Then implement these three interfaces in cadence/internal/registry, mainly based on a series of operations on registry.workflowFuncMap.
I am not sure if dynamic updates or uninstallations are suitable for long-term or scheduled workflows. But in my scenario, it seems reasonable.
from cadence.
Related Issues (20)
- Prometheus client memory usage HOT 6
- Archiving to GCS times out since v1.0.0 HOT 1
- v1.2.2 (latest) is not uploaded to docker hub HOT 3
- Latest cadence images does not support amd64 architecture HOT 2
- Addressing a lot of security vulnerabilities in the Cadence release v1.2.5 HOT 1
- Incorrect Usage. flag provided but not defined: -root HOT 1
- [Proposal] Plugin system
- Addressing a lot of security vulnerabilities in the Cadence release v1.2.6 HOT 1
- Rethink permission requirements for Admin API DescribeCluster endpoint HOT 3
- Addressing a lot of security vulnerabilities in the Cadence release v1.2.7 HOT 1
- feat: Inquiry on Configuration Version Management and Automation in Cadence HOT 1
- ERROR: for prometheus Cannot start service prometheus: driver failed programming external connectivity on endpoint cadence_prometheus_1 (911c5725dff7f8d0009242c87d6583e2da60e0502d5d16d78bde48145d29f797): Bind for 0.0.0.0:9090 failed: port is already allocated HOT 1
- Publish multiplatform docker images on docker.io to support arm64 HOT 2
- Addressing a lot of security vulnerabilities in the Cadence release v1.2.8 HOT 1
- I am getting "Config file corrupted" when deploying to Kubernetes using MySQL HOT 3
- Addressing a lot of security vulnerabilities in the Cadence release v1.2.10 HOT 1
- Cadence v1.2.11 release doesn't publish any image HOT 3
- Support for Arithmetic Operations in SQL SELECT Clause During SQL to DSL Conversion HOT 1
- Addressing a lot of security vulnerabilities in the Cadence release v1.2.12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cadence.