def main()

in ingestion-edge/ingestion_edge/flush_manager.py [0:0]


def main():
    """Continuously flush and delete detached persistent volumes."""
    args = parser.parse_args()
    load_incluster_config()
    api = CoreV1Api()
    batch_api = BatchV1Api()
    tasks = [
        partial(
            flush_released_pvs_and_delete_complete_jobs,
            api,
            batch_api,
            args.command,
            args.env,
            args.image,
            args.namespace,
            args.service_account_name,
        ),
        partial(
            delete_detached_pvcs,
            api,
            args.namespace,
            args.claim_prefix,
            timedelta(seconds=args.pvc_cleanup_delay_seconds),
            {},  # detached_pvc_cache
        ),
        partial(delete_unschedulable_pods, api, args.namespace),
    ]
    with ThreadPool(len(tasks)) as pool:
        pool.map(run_task, tasks, chunksize=1)