我正在使用乌鸦从我的芹菜工作登记到哨兵。我发现每当我使用django日志记录系统登录哨兵时,每次更新都需要几分钟(但日志成功)。如果我从日志记录配置中删除了sentry,它就是即时的。
我尝试通过以下方式直接恢复使用raven:
import raven
client=raven.Client("DSN")
client.captureMessage("message")
这在工人内部没有任何延迟。
但是如果我尝试使用django特定客户端而不是延迟存在:
from raven.contrib.django.raven_compat.models import client
client.captureMessage("message")
通常会超过2分钟,所以看起来像是超时但操作成功。
延迟加起来,使我的工作排队不可靠。
答案 0 :(得分:1)
如果您正在使用默认的Celery工作模型,通常应该可以正常工作。如果你正在使用其他可能不那么真实的东西。
默认情况下,Python客户端使用线程化工作程序。意思是,在实例化时,它创建一个队列和一个线程来异步处理消息。如果这种情况以各种方式发生,可能会导致问题(即预分叉),或者如果您正在使用gevent而不是修补线程等。
您可以尝试将传输更改为同步以确认这是相关的:
https://docs.getsentry.com/hosted/clients/python/transports/