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):