- 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>
75 lines
2.5 KiB
TOML
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"
|