aboutsummaryrefslogtreecommitdiffstats
path: root/cloud_mdir_sync/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloud_mdir_sync/main.py')
-rw-r--r--cloud_mdir_sync/main.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/cloud_mdir_sync/main.py b/cloud_mdir_sync/main.py
index d085dda..1c86b4a 100644
--- a/cloud_mdir_sync/main.py
+++ b/cloud_mdir_sync/main.py
@@ -58,9 +58,9 @@ async def update_cloud_from_local(cfg: config.Config,
async def synchronize_mail(cfg: config.Config):
"""Main synchronizing loop"""
cfg.web_app = oauth.WebServer()
+ cfg.async_tasks.append(cfg.web_app)
try:
- await cfg.web_app.go()
-
+ await asyncio_complete(*(I.go() for I in cfg.async_tasks))
await asyncio_complete(*(mbox.setup_mbox()
for mbox in cfg.all_mboxes()))
@@ -94,10 +94,8 @@ async def synchronize_mail(cfg: config.Config):
cfg.msgdb.cleanup_msgs(msgs)
cfg.logger.debug("Changed event, looping")
finally:
- await asyncio_complete(*(domain.close()
- for domain in cfg.domains.values()))
- cfg.domains = {}
- await cfg.web_app.close()
+ for I in cfg.async_tasks:
+ await I.close()
def main():