Skip to content

data_updater_v2.dbt.sensors

dbt automation: when a workload runs, and whether it may.

readiness_probe The sensor body behind every ``DbtReadiness`` in ``jobs.py``: the
workload's day is the newest NYSE session past its close; it runs once
every product the declaration requires has landed for that day (its
last complete receipt, ``DataClient.last_landing``) — "post all jobs
completing" as the receipts tell it, one run a day (the run key).
execution_gate The workload's row in ``configs.data_updater_v2.dbt``: disabled, and
the run fails before dbt starts; a missing row raises, as for every job.

Both read the databases through the same doors the job sensors use (DBClient.from_env, DataClient), on the sensor’s own event loop, and close what they opened.

Functions

execution_gate

execution_gate(context: dg.AssetExecutionContext, workload: str) -> bool

The workload’s kill switch, read as the run starts: its row’s enabled.

readiness_probe

readiness_probe(context: dg.SensorEvaluationContext, spec: DbtReadiness) -> Any

The day is the newest NYSE session whose close has passed; the workload runs for it once every required product’s last complete landing is that day or later, and once only (the run key). A product whose update jobs are all switched off is not waited on (the jobs come on one at a time: the facts run over what lands); none on, and it skips. Disabled in configs: skipped, like every job’s sensor.