【发布时间】:2014-10-05 10:21:49
【问题描述】:
我正在用scrapy做一个项目有一段时间了,我想集成哨兵,
我用过scrapy-sentry,但它根本不起作用
我也尝试使用 Extensions 来实现它,但它只有在蜘蛛的回调(不是 pipelines.py、items.py)中发生错误时才有效......
from scrapy import signals
from raven import Client
class FailLogger(object):
client = Client(settings.get('SENTRY_DSN'))
@classmethod
def from_crawler(cls, crawler):
ext = cls()
crawler.signals.connect(ext.spider_error, signal=signals.spider_error)
return ext
def spider_error(self, failure, response, spider):
try:
failure.raiseException()
except:
self.client.get_ident(self.client.captureException())
有没有我可以将错误(在蜘蛛、项目、管道......)记录到哨兵,就像在 Django 中一样?
谢谢。
【问题讨论】:
-
Scrapy users Twisted log 所以我尝试添加一个新的观察者,它是一个在发生错误时调用的回调函数,我刚刚测试了 id,它的工作就像一个魅力!答案:Here
标签: python exception scrapy sentry