diff --git a/sync.py b/sync.py index 23b03e6..ddda414 100644 --- a/sync.py +++ b/sync.py @@ -1,5 +1,6 @@ import asyncio from typing import Any, Callable, Coroutine +from functools import partial import aiofiles import yaml from pydantic import BaseModel @@ -73,9 +74,9 @@ async def main(): for image in config.images: if len(image.tags) > 0: for tag in image.tags: - tasks.append(limited_task(semaphore, lambda s=f"{image.source}:{tag}", t=f"{image.target}:{tag}": docker_task(s, t))) + tasks.append(limited_task(semaphore, partial(docker_task, image.source, f"{image.target}:{tag}"))) else: - tasks.append(limited_task(semaphore, lambda s=image.source, t=image.target: docker_task(s, t))) + tasks.append(limited_task(semaphore, partial(docker_task, image.source, image.target))) results = await asyncio.gather(*tasks) failed_tasks = sum(1 for result in results if result is not None and result != 0)