mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 11:34:18 +00:00
Add sentry_async_wrap decorator
This commit is contained in:
parent
76899d6deb
commit
d9f4eebb2b
2 changed files with 15 additions and 1 deletions
|
@ -3,7 +3,7 @@ from .sleep_until import sleep_until
|
|||
from .formatters import andformat, underscorize, ytdldateformat, numberemojiformat, ordinalformat
|
||||
from .urluuid import to_urluuid, from_urluuid
|
||||
from .multilock import MultiLock
|
||||
from .sentry import init_sentry, sentry_exc, sentry_wrap
|
||||
from .sentry import init_sentry, sentry_exc, sentry_wrap, sentry_async_wrap
|
||||
from .log import init_logging
|
||||
from .royaltyping import JSON
|
||||
|
||||
|
@ -21,6 +21,7 @@ __all__ = [
|
|||
"init_sentry",
|
||||
"sentry_exc",
|
||||
"sentry_wrap",
|
||||
"sentry_async_wrap",
|
||||
"init_logging",
|
||||
"JSON",
|
||||
]
|
||||
|
|
|
@ -59,3 +59,16 @@ def sentry_wrap(level: str = "ERROR"):
|
|||
raise
|
||||
return new_func
|
||||
return decorator
|
||||
|
||||
|
||||
def sentry_async_wrap(level: str = "ERROR"):
|
||||
def decorator(func: Callable):
|
||||
@functools.wraps(func)
|
||||
async def new_func(*args, **kwargs):
|
||||
try:
|
||||
return await func(*args, **kwargs)
|
||||
except Exception as exc:
|
||||
sentry_exc(exc=exc, level=level)
|
||||
raise
|
||||
return new_func
|
||||
return decorator
|
||||
|
|
Loading…
Reference in a new issue