-
Notifications
You must be signed in to change notification settings - Fork 44.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(rnd): Split Execution Manager #8008
Conversation
…d docker specific dns
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request. |
✅ Deploy Preview for auto-gpt-docs canceled.
|
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request. |
Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly. |
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request. |
98bf9bc
to
2ce1717
Compare
Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two (partially) unresolved items above. Otherwise good to go!
By default the daemons run on the following ports: | ||
|
||
Execution Manager Daemon: 8002 | ||
Execution Scheduler Daemon: 8003 | ||
Rest Server Daemon: 8004 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add this to docs/server too
Background
Running execution manager in a different pod to rest server, so we can scale independently as and when needed.
Changes 🏗️
To allow for this, updated to explicitly decide which ports to run the daemon's on (pyro choose its own dynamically).
To allow for service discovery, in three different environments:
locally, docker compose and k8s, we need a specific host (docker compose and k8s do their own service discovery and mapping based on service names), so introduced an environment variable to specify the host name (for local environments it's localhost, for k8s its the svc internal fully qualified domain name, for docker compose it's the service name).
Ports being used by the different services:
Execution Manager Daemon: 8002
Execution Scheduler Daemon: 8003
Rest Server Daemon: 8004
PR Quality Scorecard ✨
+2 pts
+5 pts
+5 pts
+5 pts
-4 pts
+4 pts
+5 pts
-5 pts
agbenchmark
to verify that these changes do not regress performance?+10 pts