def seed_task(task, concurrency=2, dry_run=False, skip_geoms_for_last_levels=0, progress_logger=None, seed_progress=None):
    if (task.coverage is False):
        return
    if (task.refresh_timestamp is not None):
        task.tile_manager._expire_timestamp = task.refresh_timestamp
    task.tile_manager.minimize_meta_requests = False
    work_on_metatiles = True
    if task.tile_manager.rescale_tiles:
        work_on_metatiles = False
    tile_worker_pool = TileWorkerPool(task, TileSeedWorker, dry_run=dry_run, size=concurrency, progress_logger=progress_logger)
    tile_walker = TileWalker(task, tile_worker_pool, handle_uncached=True, skip_geoms_for_last_levels=skip_geoms_for_last_levels, progress_logger=progress_logger, seed_progress=seed_progress, work_on_metatiles=work_on_metatiles)
    try:
        tile_walker.walk()
    except KeyboardInterrupt:
        tile_worker_pool.stop(force=True)
        raise
    finally:
        tile_worker_pool.stop()
def seed_task(task, concurrency=2, dry_run=False, skip_geoms_for_last_levels=0, progress_logger=None, seed_progress=None):
    if (task.coverage is False):
        return
    if (task.refresh_timestamp is not None):
        task.tile_manager._expire_timestamp = task.refresh_timestamp
    task.tile_manager.minimize_meta_requests = False
    work_on_metatiles = True
    if task.tile_manager.rescale_tiles:
        work_on_metatiles = False
    tile_worker_pool = TileWorkerPool(task, TileSeedWorker, dry_run=dry_run, size=concurrency, progress_logger=progress_logger)
    tile_walker = TileWalker(task, tile_worker_pool, handle_uncached=True, skip_geoms_for_last_levels=skip_geoms_for_last_levels, progress_logger=progress_logger, seed_progress=seed_progress, work_on_metatiles=work_on_metatiles)
    try:
        tile_walker.walk()
    except KeyboardInterrupt:
        tile_worker_pool.stop(force=True)
        raise
    finally:
        tile_worker_pool.stop()