Replies: 4 comments 15 replies
-
Hi 👋 Unfortunately it's currently designed for only one GUI & one scheduler (works as a worker as well). Thanks! |
Beta Was this translation helpful? Give feedback.
-
Here's my initial idea about the worker distribution functionality. |
Beta Was this translation helpful? Give feedback.
-
I think the GUI server, or maybe even a separate data collection process, will have to call the Worker Servers' API to gather log data.
You're right! The Worker servers don't need a GUI themselves, even though one's included by default right now. Not sure if we should take it out just yet. 🤔
I might be getting confused here. I was under the impression that in scenario A, the Worker Servers would still need to expose a port to the GUI server for API calls. Can you help me understand what you have in mind? |
Beta Was this translation helpful? Give feedback.
-
Hey all !! This is a great system. You can do most of whats in that Architecture diagram and have a global super cluster using just NATS Jetstream with almost no changes to DAGU. The NATS Object store is an easy way to take a system that uses a File system for its state and make it globally distributed. When a New Dag is put in, all other servers will instantly know, and can react to that. This is because the Object store is globally reactive. The NATS KV store allows DAGU to be parametric also. so that when a value input or output in Dagu changes then other dags on other servers will be told and can rerun. You your dags are distributed and parametric and reactive. Linking the existing DAGS to use the NATS KV woudl just be a matter of adding it as a type into the existing Dagu system. The DAFGI REST API and all the existing work can be unchanged. The CONFIG and BASE configs etc will just work. It's just a File System after all. The Object Store will ensure this is kept in sync globally. You can easily add tasks like Dagu into the system and NATS can ensure there is only one running at a time of all the global servers. https://github.com/choria-io/asyncjobs does this using NATS can I think can easily work with Dagu or be integrated. https://github.com/choria-io/appbuilder/blob/main/example/sample-app.yaml is very similar to Dagu, and they use asyncjobs with NATS to runs jobs described by appbuilder. Doing Distributed Jobs is inherently difficult to get right and can take years to get stable. NATS and these high level NATS systems can really work well with DAGU, and gives you a global control plane on the existing Dagu data plane. ... |
Beta Was this translation helpful? Give feedback.
-
Hi,
Would it be possible to have a distributed executor (or independent of the GUI) so that one workflow can span more than one server?
Thank you.
Beta Was this translation helpful? Give feedback.
All reactions