mirror of https://github.com/scrapy/scrapy.git
Stop reactor on Ctrl-C regardless of 'stop_after_crawl'. Fixes GH-1279.
(cherry picked from commit 64399d18d8)
This commit is contained in:
parent
3b0391b8f2
commit
c34ec6694c
|
|
@ -216,7 +216,7 @@ class CrawlerProcess(CrawlerRunner):
|
|||
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)
|
||||
|
|
@ -261,6 +261,11 @@ class CrawlerProcess(CrawlerRunner):
|
|||
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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue