diff --git a/scrapy/core/scheduler.py b/scrapy/core/scheduler.py index 1aebed2c3..7676e610a 100644 --- a/scrapy/core/scheduler.py +++ b/scrapy/core/scheduler.py @@ -164,7 +164,8 @@ class Scheduler(object): q = create_instance(self.pqclass, None, self.crawler, - self._newdq, + self.dqclass, + self.dqdir, state) if q: logger.info("Resuming crawl (%(queuesize)d requests scheduled)", diff --git a/scrapy/pqueues.py b/scrapy/pqueues.py index 9bebe3b7b..d8f325042 100644 --- a/scrapy/pqueues.py +++ b/scrapy/pqueues.py @@ -118,9 +118,10 @@ class ScrapyPriorityQueue(object): slot_startprios.__class__) for priority, state in startprios.items(): + priority = int(priority) self.queues[priority] = self.qfactory(priority, state) - self.curprio = min(startprios) + self.curprio = min(int(p) for p in startprios) def qfactory(self, key, startprios=()): return self.downstream_queue_cls(self.crawler, @@ -150,9 +151,7 @@ class ScrapyPriorityQueue(object): def close(self): active = {} for p, q in self.queues.items(): - if len(q): - active.append(p) - q.close() + active[p] = q.close() return active def __len__(self):