好像 asyncio 的协程报错之后
exit context 并不会被跑出来
所以是不是 sentry 不能被集成进去?
1
klesh 2018-10-28 09:32:36 +08:00 via Android
虽然看不懂你在说什么,但是 asyncio 一样可以 try catch 的。我集成过 aiohttp, 没有问题
|
3
so1n 2018-10-28 11:55:38 +08:00 via Android
你用的是哪个 web 框架? sentry 官方封装了一个 aio 报错客户端,很多人也移植到其他异步 web 框架
|
5
Trim21 2018-10-28 12:26:19 +08:00 via Android
可以手动 try catch 之后把对应的错误给 sentry 上报
from sentry_sdk import capture_exception try: a_potentially_failing_function() except Exception as e: # Alternatively the argument can be omitted capture_exception(e) Capturing Messages |
7
Trim21 2018-10-28 13:08:05 +08:00 via Android
@Ehco1996 考虑一下用装饰器,把可能出错的函数包起来 try except 然后再 raise 出去?
|
8
so1n 2018-10-28 14:53:56 +08:00 via Android
@Ehco1996 有没有用到 http 请求呢?如果有的话,官方有封装一个异步的 sentry 请求库,可以到他们 github 看看,我之前是找 sanic 找到 sanic-sentry 看到他直接调用官方的异步库
|