Skip to content

Define an asset job per DIE data product#79

Merged
jirhiker merged 1 commit into
mainfrom
feature/product-jobs
Jun 26, 2026
Merged

Define an asset job per DIE data product#79
jirhiker merged 1 commit into
mainfrom
feature/product-jobs

Conversation

@jirhiker

Copy link
Copy Markdown
Member

What

Adds a named Dagster asset job for each DIE data product — {product_id}_job — selecting that product's full graph (source assets → combine → geoserver). Schedules now target these jobs instead of raw asset selections.

Why

Previously each product's schedule pointed at an ad-hoc AssetSelection. There was no first-class, launchable unit for "materialize this product." With explicit jobs:

  • Each product is runnable on demand from the Dagster UI Jobs tab.
  • Scheduled runs and manual runs share one selection definition (no drift).
  • Runs get a stable, product-named identity.

Changes

  • orchestration/definitions.py:
    • _product_selection(pid) — the per-product graph (geoserver leaf + everything upstream).
    • _build_jobs() — one define_asset_job per product, returned as {product_id: job}.
    • _build_schedules() now binds each ScheduleDefinition to its job (job=).
    • Jobs registered in Definitions(jobs=...).

Notes for reviewer

  • No behavior change to what gets materialized — same per-product graph, now wrapped in a job.
  • 5 jobs created (arsenic, tds, waterlevels summary/timeseries, bernco waterlevels timeseries); verified each job resolves to its full source→combine→geoserver chain and schedules bind cleanly.

🤖 Generated with Claude Code

Each product now has a named asset job ({product_id}_job) selecting its
full graph (sources → combine → geoserver), launchable on demand from
the Dagster UI. Schedules target these jobs instead of raw asset
selections, so scheduled runs and manual runs share one definition.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

Your pull request is automatically being deployed to Dagster Cloud.

Location Status Link Updated
die-orchestration View in Cloud Jun 26, 2026 at 04:07 AM (UTC)

@jirhiker jirhiker merged commit ba35299 into main Jun 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant