"""Reaper martwych klipów, ręczne uruchomienie. Logika w `app.scheduler.clips_ingest.reap_dead` (ta sama, którą raz na dobę odpala job `clips-maintenance`). python -m scripts.clips_reap_dead --limit 500 # dry-run python -m scripts.clips_reap_dead --limit 500 --yes # zapisz dead_at """ from __future__ import annotations import argparse import logging from app.scheduler.clips_ingest import reap_dead def main() -> None: logging.basicConfig(level=logging.INFO, format="%(message)s") ap = argparse.ArgumentParser() ap.add_argument("--limit", type=int, default=500) ap.add_argument("--yes", action="store_true", help="zapisz dead_at (bez tego dry-run)") a = ap.parse_args() print(reap_dead(limit=a.limit, apply=a.yes)) if __name__ == "__main__": main()