Files
padelnomics/infra/supervisor/workflows.toml
Deeman 6b7fa45bce feat(admin): add pipeline diagnostic script + extraction card UX improvements
- Add scripts/check_pipeline.py: read-only diagnostic for pricing pipeline
  row counts, date range analysis, HAVING filter impact, join coverage
- Add description field to all 12 workflows in workflows.toml
- Parse and display descriptions on extraction status cards
- Show spinner + "Running" state with blue-tinted card border
- Display start time with "running..." text for active extractions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:40:12 +01:00

75 lines
2.5 KiB
TOML

# Workflow registry — the supervisor reads this file on every tick.
# To add a new extractor: add a [section] here and create the Python module.
#
# Fields:
# module — Python module path (must have a main() function)
# schedule — named preset ("hourly", "daily", "weekly", "monthly")
# or raw cron expression (e.g. "0 6-23 * * *")
# entry — optional: function name if not "main" (default: "main")
# depends_on — optional: list of workflow names that must run first
# proxy_mode — optional: "round-robin" (default) or "sticky"
# description — optional: human-readable one-liner shown in the admin UI
[overpass]
module = "padelnomics_extract.overpass"
schedule = "monthly"
description = "Padel court locations from OpenStreetMap via Overpass API"
[overpass_tennis]
module = "padelnomics_extract.overpass_tennis"
schedule = "monthly"
description = "Tennis court locations from OpenStreetMap via Overpass API"
[eurostat]
module = "padelnomics_extract.eurostat"
schedule = "monthly"
description = "City population data from Eurostat Urban Audit"
[geonames]
module = "padelnomics_extract.geonames"
schedule = "monthly"
description = "Global city/town gazetteer from GeoNames (pop >= 1K)"
[playtomic_tenants]
module = "padelnomics_extract.playtomic_tenants"
schedule = "daily"
description = "Padel venue directory from Playtomic (names, locations, courts)"
[playtomic_availability]
module = "padelnomics_extract.playtomic_availability"
schedule = "daily"
depends_on = ["playtomic_tenants"]
description = "Morning availability snapshots — slot-level pricing per venue"
[playtomic_recheck]
module = "padelnomics_extract.playtomic_availability"
entry = "main_recheck"
schedule = "0,30 6-23 * * *"
depends_on = ["playtomic_availability"]
description = "Intraday availability rechecks for occupancy tracking"
[census_usa]
module = "padelnomics_extract.census_usa"
schedule = "monthly"
description = "US city/place population from Census Bureau ACS"
[census_usa_income]
module = "padelnomics_extract.census_usa_income"
schedule = "monthly"
description = "US county median household income from Census Bureau ACS"
[eurostat_city_labels]
module = "padelnomics_extract.eurostat_city_labels"
schedule = "monthly"
description = "City code-to-name mapping for Eurostat Urban Audit cities"
[ons_uk]
module = "padelnomics_extract.ons_uk"
schedule = "monthly"
description = "UK local authority population estimates from ONS"
[gisco]
module = "padelnomics_extract.gisco"
schedule = "monthly"
description = "EU geographic boundaries (NUTS2 polygons) from Eurostat GISCO"