mirror of https://github.com/scrapy/scrapy.git
removed unneeded logic from engine
This commit is contained in:
parent
bcf81cd3c4
commit
4f00c12a0a
|
|
@ -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__)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue