2014-12-11 10 views
0

스파이더 내부의 MQ에 연결하십시오.Scrapy 스파이더 내부에서 MQ에 연결하거나 Scrap 스파이더 내부에서 ClientCreator를 생성하는 방법

임 내가 Pipeline을 사용 거미 내부 MQ에 연결하고 해달라고하고 왜 ...

d = ClientCreator(reactor, AMQClient, delegate=delegate, vhost='/', spec=spec).connectTCP('localhost', 5672) 
d.addCallback(self.gotConnection, 'guest', 'guest') 

ClientCreator를 호출하려고하지만 난 어디 CrawlSpider 내부 "반응"변수를 얻는 몰라? MQ에서 일부 작업을 읽는 거미를 실행하는 루프가 있습니다. 파이프 라인은 스토리지를 제공하지만 MQ 작업을 읽고 처리해야합니다. 나는 읽기 작업을 할 수 없으며 스파이더가 이미 웹 사이트에 로그인되어있는 동안 mq 작업을 처리해야하기 때문에 거미를 실행합니다.

누군가가 스파이더 내부에서 MQ에 연결하여 구문 분석 된 항목을 저장하지 않고 작업을 읽는 방법을 모르는 사람이 있습니까?

답변

0

면책 조항 : 저는 집에서 이것을 시도하지 않았습니다.

내가 가장 좋은 건 생각 만 수행 할 작업 : 다음

from twisted.internet import reactor 

및 사용 ClientCreatorreactor 그.

공식 문서 페이지에서 example of running a spider from a script을 살펴 본다면 reactor이 사용 된 것을 볼 수 있습니다.

+0

아무 것도 ... 나는 Scrap CrawlSpider 내부의 __init__ 메소드에서 사용해야한다. 내 응용 프로그램의 비즈니스 논리로 인해 각 MQ 메시지에 대한 스크립트에서 거미를 실행할 수 없습니다. – Nick