second commit

This commit is contained in:
Ankit Malik
2026-06-03 17:25:17 +05:30
parent 279eed0d9d
commit 2c5a051772
2 changed files with 123 additions and 23 deletions
+26 -23
View File
@@ -428,37 +428,40 @@ def verify(expected: int, target_date: date) -> bool:
# ── Main ──────────────────────────────────────────────────────────────────────
def main() -> None:
target_date = date.today() - timedelta(days=1)
log.info(f"=== Coverage KPI ETL | date={target_date} ===")
#target_date = date.today() - timedelta(days=1)
for i in range(1, 10):
target_date = date(2023, 3, 9) + timedelta(days=i)
print(target_date)
log.info(f"=== Coverage KPI ETL | date={target_date} ===")
# Build the SQLAlchemy engine once — shared across all steps
engine = build_engine()
# Build the SQLAlchemy engine once — shared across all steps
engine = build_engine()
# Collect which MIDs need processing
mids = collect_mids(engine, target_date)
if not mids:
log.info("No MIDs for yesterday. Nothing to do.")
sys.exit(0)
# Collect which MIDs need processing
mids = collect_mids(engine, target_date)
if not mids:
log.info("No MIDs for yesterday. Nothing to do.")
sys.exit(0)
# Fetch raw data using pl.read_database()
df_raw = fetch_coverage_data(engine, mids)
engine.dispose() # return all pooled connections to OS cleanly
# Fetch raw data using pl.read_database()
df_raw = fetch_coverage_data(engine, mids)
engine.dispose() # return all pooled connections to OS cleanly
if df_raw.is_empty():
log.warning("Empty result set. Exiting.")
sys.exit(0)
if df_raw.is_empty():
log.warning("Empty result set. Exiting.")
sys.exit(0)
# Transform
df_clean = transform(df_raw)
# Transform
df_clean = transform(df_raw)
# Load
rows_inserted, inserted_date = load_to_clickhouse(df_clean)
# Load
rows_inserted, inserted_date = load_to_clickhouse(df_clean)
# Verify
if not verify(rows_inserted, inserted_date):
sys.exit(2)
# Verify
if not verify(rows_inserted, inserted_date):
sys.exit(2)
log.info(f"=== Done. {rows_inserted:,} rows loaded for {inserted_date} ===")
log.info(f"=== Done. {rows_inserted:,} rows loaded for {inserted_date} ===")
if __name__ == "__main__":