我正在将 raven 升级到 2.0.3,但看不到任何日志进入服务器。我已经修补了乌鸦,以便我可以使用芹菜:https://github.com/getsentry/raven-python/commit/1be659a1eba721a29ca889e632538ddd459c4acf。
必须拾取SENTRY_DSN,因为当我更改它时,芹菜显示 403 响应(禁止来自服务器)。这些任务被芹菜拾取,因为我可以在日志中看到任务成功完成:
[2012-08-06 13:28:20,885: INFO/MainProcess] Got task from broker: raven.contrib.django.celery.send_raw[f58d441c-713b-4d90-9a75-fcdaf753cd5b]
[2012-08-06 13:28:21,061: INFO/PoolWorker-1] Configuring Raven for host: http://xxxxxx@xxxx.dotcloud.com:/2
[2012-08-06 13:28:22,025: INFO/MainProcess] Task raven.contrib.django.celery.send_raw[f58d441c-713b-4d90-9a75-fcdaf753cd5b] succeeded in 0.966000080109s: None
但是,我在哨兵服务器上看不到任何事件。服务器端我有:
Django==1.4.1
django-celery==3.0.4
raven==2.0.3
sentry==4.8.6
celery==3.0.5
是否缺少一些设置?
问题是我的日志记录设置很可能导致了某种竞争条件,这意味着 Raven 会打印它正在发送日志,但从未真正绕过它。
通过设置 CELERY_REDIRECT_STDOUTS = False 修复
请参阅 https://groups.google.com/forum/?fromgroups#!topic/celery-users/6_Suz2tscMQ