Skip to content

Commit

Permalink
fix issue with responses preventing spiders to be idle in engine counts
Browse files Browse the repository at this point in the history
  • Loading branch information
dangra committed Jul 15, 2011
1 parent d207c0a commit 4dadeb7
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions scrapy/core/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,16 +179,14 @@ def schedule(self, request, spider):
def download(self, request, spider):
slot = self.slots[spider]
slot.add_request(request)
if isinstance(request, Response):
return request
d = self._download(request, spider)
d.addCallback(self.download, spider)
d.addBoth(self._remove_request, slot, request)
d.addBoth(self._downloaded, slot, request, spider)
return d

def _remove_request(self, _, slot, request):
def _downloaded(self, response, slot, request, spider):
slot.remove_request(request)
return _
return self.download(response, spider) \
if isinstance(response, Request) else response

def _download(self, request, spider):
slot = self.slots[spider]
Expand Down

0 comments on commit 4dadeb7

Please sign in to comment.