我有简单的同步代码,如下所示:
import sentry_sdk
from time import sleep
sentry_sdk.init(MY_DSN)
while True:
# remove sentry breadcrumbs here, so they would not accumulate
try:
do_my_stuff()
except:
handle_my_exception()
sleep(some_non_linear_algorithm()) # I would like not to use crontab
发生异常时,岗哨将捕获该异常以及先前迭代中的所有面包屑,因此我需要在每次迭代开始时删除所有当前的面包屑。但是我在哨点文档中找不到任何API可以做到这一点。
答案 0 :(得分:1)
将您的代码包装在此:
with sentry_sdk.push_scope():
try:
...
except:
...
这将确保您在迭代之间不会泄漏面包屑,标签等。
或者,您可以使用:
with sentry_sdk.configure_scope() as scope:
scope.clear()