diff --git a/oml/nodes.py b/oml/nodes.py index ea89cf7..d16b402 100644 --- a/oml/nodes.py +++ b/oml/nodes.py @@ -542,8 +542,6 @@ class Nodes(Thread): self.queue('pull') def _pull(self): - if not state.sync_enabled or settings.preferences.get('downloadRate') == 0: - return if state.activity and state.activity.get('activity') == 'import': return self._pulling = True diff --git a/oml/server.py b/oml/server.py index d0e997d..89401d0 100644 --- a/oml/server.py +++ b/oml/server.py @@ -6,6 +6,7 @@ import sys import signal import time +from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.web import StaticFileHandler, Application @@ -70,6 +71,7 @@ def shutdown(): logger.debug('shutdown downloads') state.downloads.join() logger.debug('shutdown http_server') + state.http_server.stop() if state.tasks: logger.debug('shutdown tasks') state.tasks.join() @@ -133,9 +135,8 @@ def run(): ] setup.create_db() - http_server = Application(handlers, **options) - max_buffer_size = 2*1024*1024*1024 - http_server.listen(settings.server['port'], settings.server['address'], max_buffer_size=max_buffer_size) + http_server = HTTPServer(Application(handlers, **options)) + http_server.listen(settings.server['port'], settings.server['address']) if PID: with open(PID, 'w') as pid: diff --git a/oml/state.py b/oml/state.py index 4768e7b..7f63690 100644 --- a/oml/state.py +++ b/oml/state.py @@ -8,7 +8,6 @@ node = False online = False tasks = False downloads = False -sync_enabled = True tor = False update = False shutdown = False diff --git a/oml/update.py b/oml/update.py index 566d66b..c265f63 100644 --- a/oml/update.py +++ b/oml/update.py @@ -333,9 +333,7 @@ class Update(Thread): def install(self): while update_available(): self.status('Downloading...') - max_retry = 5 - while max_retry > 0 and not download(): - max_retry -= 1 + while not download(): self.status('Download failed, retrying...') time.sleep(5) self.status('Downloading...') diff --git a/oml/websocket.py b/oml/websocket.py index 7e468f2..466adeb 100644 --- a/oml/websocket.py +++ b/oml/websocket.py @@ -57,10 +57,11 @@ class Handler(WebSocketHandler): def post(self, event, data): message = json_dumps([event, data]) + main = IOLoop.instance() if self.ws_connection is None: self.on_close() else: - state.main.add_callback(lambda: self.write_message(message)) + main.add_callback(lambda: self.write_message(message)) def trigger_event(event, data): #if len(state.websockets): diff --git a/requirements-shared.txt b/requirements-shared.txt index 2edce59..934cfb4 100644 --- a/requirements-shared.txt +++ b/requirements-shared.txt @@ -1,5 +1,5 @@ -requests==2.21.0 -tornado==5.1.1 +requests==2.9.1 +tornado==4.3 chardet html5lib #ox>=2.0.666 @@ -8,5 +8,5 @@ python-stdnum==1.2 PyPDF2==1.25.1 pysocks stem -sqlitedict==1.6.0 +sqlitedict==1.4.0 zeroconf