From 177748d3d1be02bf1b6bd71f7da6874c7eeba5c4 Mon Sep 17 00:00:00 2001 From: Hugo Osvaldo Barrera Date: Tue, 6 Jul 2021 22:03:29 +0200 Subject: [PATCH] Sync pairs asynchronously --- vdirsyncer/cli/__init__.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/vdirsyncer/cli/__init__.py b/vdirsyncer/cli/__init__.py index c1db199..7fbc5ba 100644 --- a/vdirsyncer/cli/__init__.py +++ b/vdirsyncer/cli/__init__.py @@ -129,6 +129,7 @@ def sync(ctx, collections, force_delete): async def main(collections): conn = aiohttp.TCPConnector(limit_per_host=16) + tasks = [] for pair_name, collections in collections: async for collection, config in prepare_pair( pair_name=pair_name, @@ -136,13 +137,16 @@ def sync(ctx, collections, force_delete): config=ctx.config, connector=conn, ): - await sync_collection( - collection=collection, - general=config, - force_delete=force_delete, - connector=conn, + tasks.append( + sync_collection( + collection=collection, + general=config, + force_delete=force_delete, + connector=conn, + ) ) + await asyncio.gather(*tasks) await conn.close() asyncio.run(main(collections))