Fixed bug that was causing the engine to notify the manager of spider closes too early

This commit is contained in:
Pablo Hoffman 2010-06-01 11:07:04 -03:00
parent fcdc4ee7d9
commit 9523cab25c
2 changed files with 2 additions and 2 deletions

View File

@ -281,7 +281,7 @@ class ExecutionEngine(object):
dfd.addErrback(log.err, "Unhandled error on SpiderManager.close_spider()",
spider=spider)
dfd.addBoth(lambda _: log.msg("Spider closed (%s)" % reason, spider=spider))
reactor.callLater(0, self._spider_closed_callback)
dfd.addBoth(lambda _: self._spider_closed_callback(spider))
return dfd
def _finish_stopping_engine(self):

View File

@ -52,7 +52,7 @@ class ExecutionManager(object):
self.engine.crawl(request, spider)
@defer.inlineCallbacks
def _spider_closed(self):
def _spider_closed(self, spider=None):
if not self.engine.open_spiders:
is_finished = yield defer.maybeDeferred(self.queue.is_finished)
if is_finished: