【发布时间】:2016-06-09 06:42:17
【问题描述】:
我创建了一个scrapy 库scrapy-mq-redis 并希望让蜘蛛永无止境。我已经使用 spider_idle 信号处理程序来阻止它关闭(从上游库中挑选它)。
有没有办法在这个函数中访问调度程序,以便我可以调用 next_request 函数并处理进一步的传入请求,或者甚至更多的 start_urls?
如果需要进一步说明,请告诉我。
编辑:可能的重复问题有一个自定义的 create_request 方法。 对于我的库,我需要通过接收消息的完全相同的通道向 RabbitMQ 发送消息确认。这就是为什么调度程序/队列中有一个侦听器用于处理请求(response_received)。所以,我特别要使用调度器来创建请求。
另一种方法是在我的蜘蛛中为 response_received 设置另一个侦听器,这意味着所有请求/响应的广播将发送到两个方法,然后我必须确定是否从特定进程接收到消息,然后相应地发送确认。这会在两个不同的模块中增加额外的处理和相同进程的重复。
我希望这能澄清我的要求。
【问题讨论】:
-
@PawelMiech 添加了有关我的问题的更多详细信息以及它与另一个问题的不同之处。