From 800da730df2045e1c0a213bd9f6f352ad2352091 Mon Sep 17 00:00:00 2001 From: Luna Mendes Date: Fri, 16 Nov 2018 16:54:20 -0300 Subject: [PATCH] litecord.jobs: add wrapper for logging errors --- litecord/jobs.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/litecord/jobs.py b/litecord/jobs.py index f2161e4..083d031 100644 --- a/litecord/jobs.py +++ b/litecord/jobs.py @@ -1,5 +1,8 @@ import asyncio +from logbook import Logger +log = Logger(__name__) + class JobManager: """Manage background jobs""" @@ -7,8 +10,16 @@ class JobManager: self.loop = loop or asyncio.get_event_loop() self.jobs = [] + async def _wrapper(self, coro): + try: + await coro + except Exception: + log.exception('Error while running job') + def spawn(self, coro): - task = self.loop.create_task(coro) + task = self.loop.create_task( + self._wrapper(coro) + ) self.jobs.append(task) def close(self):