diff --git a/docs/content/concepts/automation/declarative-automation.mdx b/docs/content/concepts/automation/declarative-automation.mdx index 91bd8319154bf..2b086ccbf5ab5 100644 --- a/docs/content/concepts/automation/declarative-automation.mdx +++ b/docs/content/concepts/automation/declarative-automation.mdx @@ -11,6 +11,8 @@ description: "Dagster can automatically materialize assets when criteria are met Dagster can automatically materialize assets when criteria are met, enabling a declarative approach to asset materialization. Instead of defining explicit workflows to materialize assets, you describe the conditions under which they should be materialized and let the system kick off runs in response. +For example, you have an asset that's scheduled to execute every day at midnight. Instead of running whether there's new data or not, you can use Declarative Automation to materialize the asset only when its parent has been updated. + Declarative Automation includes pre-built conditions to handle common use cases, such as on a periodic schedule or whenever an upstream dependency updates, but conditions can also be customized. --- @@ -19,9 +21,10 @@ Declarative Automation includes pre-built conditions to handle common use cases, Using Declarative Automation helps you: -- Define the precise conditions under which an asset should be materialized -- Define all logic related to an asset in a single place -- Avoid thinking about specific workflow boundaries +- Ensure you're working with the most up-to-date data +- Optimize resource usage by only materializing assets when needed +- Simplify how your team understands their assets by consolidating all asset logic to a single location +- Avoid thinking about specific workflow boundaries, such as a [schedule accounting for timezones or Daylight Savings Time](/concepts/automation/schedules/customizing-executing-timezones) --- @@ -37,14 +40,14 @@ Before continuing, you should be familiar with: ## How it works -Declarative Automation is an automation method that kicks off runs when criteria are met and contains two main components: +Declarative Automation is an automation method that kicks off runs when criteria are met. This method contains two main components: - **An automation condition (**), which represents when an individual asset should be executed. - **A sensor (**), which evaluates each and launches runs in response to their status. ### Automation conditions -Dagster provides two pre-built conditions: +Automation conditions describe the conditions under which an asset should be executed. Dagster provides two pre-built conditions: framework is extremely flexib ### Sensors -By default, a single sensor with the name `default_automation_condition_sensor` will be available for each code location, and will monitor all assets within that location. To use multiple sensors or change the properties of the default sensor, refer to the documentation. +When automation conditions for an asset are met, a sensor will kick off a run to materialize the asset. This sensor, named `default_automation_condition_sensor`, will be available for each code location and monitor all assets within that location. To use multiple sensors or change the properties of the default sensor, refer to the documentation. For an automation condition sensor to run, it must be turned on and an active [`dagster-daemon` process](/deployment/dagster-daemon) must be running. If you used [`dagster dev` to start the Dagster UI/webserver](/guides/running-dagster-locally), the daemon process will be automatically launched alongside the webserver. @@ -159,7 +162,7 @@ To use Declarative Automation, you'll need to enable the automation condition se From here, you can: - Define custom automation conditions -- See a history of each evaluation for this sensor +- View a history of each evaluation for the sensor - Navigate to individual assets to see a history of their evaluations ---