getsentry / getsentry/sentry-python

Please allow an option for asynchronous calls to capture_exception

未關閉
#1,735 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
Errors Feature Python
主要語言
Python
星號
2.2k
分支
669
平均合併
1 天 1 小時
30 天內合併 PR
213

描述

### Problem Statement

I have an asynchronous Python app which continual polls various rest api's with httpx

Something like
```
try:
async with httpx.AsyncClient() as client:
result = await client.post(url)
# Do some processing on result
except Exception as exc:
capture_exception(exc)
logger.error("There was an error exc = {0}".format(exc))
```

Because my application is async and busy (polling lot's of APIs and getting data) the synchronous capture_exception call causes an issue because it blocks the applications only thread. This is made worse by the fact that an rest api may start returning errors on every call causing capture_exception to block a lot of things.

### Solution Brainstorm

If there was an async version of capture_exception that would make life much better

eg
```
try:
async with httpx.AsyncClient() as client:
result = await client.post(url)
# Do some processing on result
except Exception as exc:
await capture_exception_async(exc)
logger.error("There was an error exc = {0}".format(exc))
```
While capture_exception_async other asynchronous tasks can still run. Is wasn't able to find anything on this by Googling so I assume it just does not exist at the moment.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。