From 4f00c12a0ab9a9185674fafb501f4ed15eae5840 Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Mon, 31 Aug 2009 09:44:31 -0300 Subject: [PATCH] removed unneeded logic from engine --- scrapy/core/engine.py | 34 ---------------------------------- scrapy/management/telnet.py | 4 ++-- scrapy/management/web.py | 3 ++- 3 files changed, 4 insertions(+), 37 deletions(-) diff --git a/scrapy/core/engine.py b/scrapy/core/engine.py index 3e07acc74..4481851cd 100644 --- a/scrapy/core/engine.py +++ b/scrapy/core/engine.py @@ -31,7 +31,6 @@ class ExecutionEngine(object): self.keep_alive = False self.closing = {} # dict (domain -> reason) of spiders being closed self.tasks = [] - self.ports = [] self.running = False self.paused = False self.control_reactor = True @@ -63,32 +62,6 @@ class ExecutionEngine(object): tsk.start(interval, now) return tsk - def removetask(self, tsk): - """Remove a looping task previously added with addtask() method""" - self.tasks = [(t, i, n) for (t, i, n) in self.tasks if t is not tsk] - if tsk.running: - tsk.stop() - - def listenTCP(self, *args, **kwargs): - if self.running: - self.ports.append(reactor.listenTCP(*args, **kwargs)) - else: - self.ports.append((args, kwargs)) - - def clean_reactor(self): - """Leaves the reactor in a clean state by removing all pending tasks - and listening ports. It can only be called when the engine is not - running. - """ - if not self.running: - for tsk, _, _ in self.tasks: - if tsk.running: - tsk.stop() - self.tasks = [] - for p in [p for p in self.ports if not isinstance(p, tuple)]: - p.stopListening() - self.ports = [] - def start(self, control_reactor=True): """Start the execution engine""" if not self.running: @@ -99,11 +72,6 @@ class ExecutionEngine(object): self.addtask(self._mainloop, 5.0) for tsk, interval, now in self.tasks: tsk.start(interval, now) - for args, kwargs in [t for t in self.ports if isinstance(t, tuple)]: - try: - reactor.listenTCP(*args, **kwargs) - except CannotListenError: - log.msg("Cannot listen on TCP port %d" % args[0], level=log.ERROR) self.running = True if control_reactor: reactor.run() # blocking call @@ -121,8 +89,6 @@ class ExecutionEngine(object): if tsk.running: tsk.stop() self.tasks = [] - for p in [p for p in self.ports if not isinstance(p, tuple)]: - p.stopListening() if self.control_reactor and reactor.running: reactor.stop() send_catch_log(signal=signals.engine_stopped, sender=self.__class__) diff --git a/scrapy/management/telnet.py b/scrapy/management/telnet.py index 4aa9e9f11..6283a50d7 100644 --- a/scrapy/management/telnet.py +++ b/scrapy/management/telnet.py @@ -8,7 +8,7 @@ import pprint from twisted.conch import manhole, telnet from twisted.conch.insults import insults -from twisted.internet import protocol +from twisted.internet import reactor, protocol from scrapy.extension import extensions from scrapy.core.manager import scrapymanager @@ -50,4 +50,4 @@ class TelnetConsole(protocol.ServerFactory): self.protocol = makeProtocol self.noisy = False port = settings.getint('TELNETCONSOLE_PORT') - scrapyengine.listenTCP(port, self) + reactor.callWhenRunning(reactor.listenTCP, port, self) diff --git a/scrapy/management/web.py b/scrapy/management/web.py index 9078e6f35..27dd20948 100644 --- a/scrapy/management/web.py +++ b/scrapy/management/web.py @@ -8,6 +8,7 @@ import re import socket from datetime import datetime +from twisted.internet import reactor from twisted.web import server, resource from scrapy.xlib.pydispatch import dispatcher @@ -89,4 +90,4 @@ class WebConsole(server.Site): server.Site.__init__(self, WebConsoleResource(), logPath=logfile) self.noisy = False port = settings.getint('WEBCONSOLE_PORT') - scrapyengine.listenTCP(port, self) + reactor.callWhenRunning(reactor.listenTCP, port, self)