Skip to content

Commit

Permalink
Stop reactor on Ctrl-C regardless of 'stop_after_crawl'. Fixes GH-1279.
Browse files Browse the repository at this point in the history
  • Loading branch information
kmike committed Jun 5, 2015
1 parent 33d145e commit 64399d1
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion scrapy/crawler.py
Expand Up @@ -216,7 +216,7 @@ def _signal_shutdown(self, signum, _):
signame = signal_names[signum]
logger.info("Received %(signame)s, shutting down gracefully. Send again to force ",
{'signame': signame})
reactor.callFromThread(self.stop)
reactor.callFromThread(self._graceful_stop_reactor)

def _signal_kill(self, signum, _):
install_shutdown_handlers(signal.SIG_IGN)
Expand Down Expand Up @@ -261,6 +261,11 @@ def _get_dns_resolver(self):
timeout=self.settings.getfloat('DNS_TIMEOUT')
)

def _graceful_stop_reactor(self):
d = self.stop()
d.addBoth(self._stop_reactor)
return d

def _stop_reactor(self, _=None):
try:
reactor.stop()
Expand Down

0 comments on commit 64399d1

Please sign in to comment.