added clear_pending_requests to scheduler

This commit is contained in:
Pablo Hoffman 2009-06-22 18:37:39 -03:00
parent fb8e24acb5
commit b037ef6a27
1 changed files with 9 additions and 0 deletions

View File

@ -3,8 +3,10 @@ The Scrapy Scheduler
"""
from twisted.internet import defer
from twisted.python.failure import Failure
from scrapy.utils.datatypes import PriorityQueue, PriorityStack
from scrapy.core.exceptions import IgnoreRequest
from scrapy.conf import settings
from .middleware import SchedulerMiddlewareManager
@ -57,6 +59,13 @@ class Scheduler(object):
self.pending_requests[domain].push((request, dfd), -request.priority)
return dfd
def clear_pending_requests(self, domain):
"""Remove all pending requests for the given domain"""
q = self.pending_requests[domain]
while q:
_, dfd = q.pop()[0]
dfd.errback(Failure(IgnoreRequest()))
def next_request(self, domain):
"""Return the next available request to be downloaded for a domain.