-
I'm finding it difficult to follow all of the deployment-related documentation (though it's definitely helpful), because there's overlapping docs and concepts spread across OSS, serverless, hybrid, and then all 3. Here's my current understanding. Daemon - long-running process needed for schedules, sensors, queued run coordinator, monitoring worker runs and triggering retries Storage gRPC server - loads code that defines our Dagster assets (ops, jobs, assets, schedules, etc) and makes metadata about those assets available via a GraphQL API Execution Run launcher - a class invoked by the daemon when it receives a run from the coordinator. This class initializes a new run worker to handle execution. Depending on the launcher, this could mean spinning up a new process, container, Kubernetes pod, etc. Web server - UI for visualizing jobs, assets, and ops, as well as starting jobs. Some questions. Dagster hosts the following in Dagster Cloud:
The user hosts:
I get that the Agent relays data to/from Dagster Cloud. Does it also serve the role of the run launcher? What happens with the DefaultRunLauncher if no executors are available? Does the op get queued using the runs database? How do you configure the Run Worker? I'm not seeing a section on that. I'm a little confused by how a run launcher triggers one or more run workers, which in turn trigger one or more executors? In general, I'm confused on how the job execution flow works within a hybrid deployment. Is it possible to use a celery executor with a hybrid deployment? Is the Dagster-hosted run storage accessible outside of Dagster cloud? That seems like the only way that it would work. Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 8 replies
-
Hi @skeller88 - the overall understanding you lay out here is more or less entirely correct. Happy to mop up the specific questions here:
Let us know if there's anything else we can help with! |
Beta Was this translation helpful? Give feedback.
Hi @skeller88 - the overall understanding you lay out here is more or less entirely correct. Happy to mop up the specific questions here: