Merge pull request #879 from Curita/fix-874-issue

Fix #874 issue
This commit is contained in:
Daniel Graña 2014-09-08 14:32:06 -03:00
commit 68954fa503
2 changed files with 4 additions and 9 deletions

View File

@ -58,14 +58,13 @@ class Command(ScrapyCommand):
crawler.engine = crawler._create_engine()
crawler.engine.start()
self.crawler_process.start(start_reactor=False)
self._start_crawler_thread()
shell = Shell(crawler, update_vars=self.update_vars, code=opts.code)
shell.start(url=url)
def _start_crawler_thread(self):
t = Thread(target=self.crawler_process._start_reactor,
t = Thread(target=self.crawler_process.start,
kwargs={'stop_after_crawl': False})
t.daemon = True
t.start()

View File

@ -115,6 +115,8 @@ class CrawlerProcess(CrawlerRunner):
super(CrawlerProcess, self).__init__(settings)
install_shutdown_handlers(self._signal_shutdown)
self.stopping = False
self.log_observer = log.start_from_settings(self.settings)
log.scrapy_info(settings)
def _signal_shutdown(self, signum, _):
install_shutdown_handlers(self._signal_kill)
@ -131,13 +133,7 @@ class CrawlerProcess(CrawlerRunner):
self._stop_logging()
reactor.callFromThread(self._stop_reactor)
def start(self, stop_after_crawl=True, start_reactor=True):
self.log_observer = log.start_from_settings(self.settings)
log.scrapy_info(self.settings)
if start_reactor:
self._start_reactor(stop_after_crawl)
def _start_reactor(self, stop_after_crawl=True):
def start(self, stop_after_crawl=True):
if stop_after_crawl:
d = defer.DeferredList(self.crawl_deferreds)
if d.called: