首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
拉勾
V2EX  ›  Python

sentry 怎么用在 asyncio 里?

  •  
  •   Ehco1996 · 143 天前 · 1261 次点击
    这是一个创建于 143 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好像 asyncio 的协程报错之后

    exit context 并不会被跑出来

    所以是不是 sentry 不能被集成进去?

    8 回复  |  直到 2018-10-28 14:53:56 +08:00
        1
    klesh   143 天前 via Android
    虽然看不懂你在说什么,但是 asyncio 一样可以 try catch 的。我集成过 aiohttp, 没有问题
        2
    Ehco1996   143 天前
    @klesh 不是 try catch 的问题
    我就是想知道程序哪里会报错,才想把 sentry 集成进去的
        3
    so1n   143 天前 via Android
    你用的是哪个 web 框架? sentry 官方封装了一个 aio 报错客户端,很多人也移植到其他异步 web 框架
        4
    Ehco1996   143 天前 via iPhone
    @so1n 是自己写的小项目,不是 web 的
        5
    Trim21   143 天前 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
        6
    Ehco1996   143 天前 via iPhone
    @Trim21 主要我是全局的 catch...
    看来好像没什么好办法
        7
    Trim21   143 天前 via Android
    @Ehco1996 考虑一下用装饰器,把可能出错的函数包起来 try except 然后再 raise 出去?
        8
    so1n   143 天前 via Android
    @Ehco1996 有没有用到 http 请求呢?如果有的话,官方有封装一个异步的 sentry 请求库,可以到他们 github 看看,我之前是找 sanic 找到 sanic-sentry 看到他直接调用官方的异步库
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2508 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 15:04 · PVG 23:04 · LAX 08:04 · JFK 11:04
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1