mirror of https://gitlab.com/litecord/litecord.git
litecord.jobs: add wrapper for logging errors
This commit is contained in:
parent
247523c181
commit
800da730df
|
|
@ -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):
|
||||
|
|
|
|||
Loading…
Reference in New Issue