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
|
import asyncio
|
||||||
|
|
||||||
|
from logbook import Logger
|
||||||
|
log = Logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class JobManager:
|
class JobManager:
|
||||||
"""Manage background jobs"""
|
"""Manage background jobs"""
|
||||||
|
|
@ -7,8 +10,16 @@ class JobManager:
|
||||||
self.loop = loop or asyncio.get_event_loop()
|
self.loop = loop or asyncio.get_event_loop()
|
||||||
self.jobs = []
|
self.jobs = []
|
||||||
|
|
||||||
|
async def _wrapper(self, coro):
|
||||||
|
try:
|
||||||
|
await coro
|
||||||
|
except Exception:
|
||||||
|
log.exception('Error while running job')
|
||||||
|
|
||||||
def spawn(self, coro):
|
def spawn(self, coro):
|
||||||
task = self.loop.create_task(coro)
|
task = self.loop.create_task(
|
||||||
|
self._wrapper(coro)
|
||||||
|
)
|
||||||
self.jobs.append(task)
|
self.jobs.append(task)
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue