|
|
|
@ -40,11 +40,16 @@ class server:
|
|
|
|
|
else:
|
|
|
|
|
self.wsgiserver = WSGIServer(('', web.ub.config.config_port), web.app, spawn=Pool(), **ssl_args)
|
|
|
|
|
self.wsgiserver.serve_forever()
|
|
|
|
|
|
|
|
|
|
except SocketError:
|
|
|
|
|
try:
|
|
|
|
|
web.app.logger.info('Unable to listen on \'\', trying on IPv4 only...')
|
|
|
|
|
self.wsgiserver = WSGIServer(('0.0.0.0', web.ub.config.config_port), web.app, spawn=Pool(), **ssl_args)
|
|
|
|
|
self.wsgiserver.serve_forever()
|
|
|
|
|
except (OSError, SocketError) as e:
|
|
|
|
|
web.app.logger.info("Error starting server: %s" % e.strerror)
|
|
|
|
|
print("Error starting server: %s" % e.strerror)
|
|
|
|
|
web.helper.global_WorkerThread.stop()
|
|
|
|
|
sys.exit(1)
|
|
|
|
|
except Exception:
|
|
|
|
|
web.app.logger.info("Unknown error while starting gevent")
|
|
|
|
|
|
|
|
|
@ -54,6 +59,7 @@ class server:
|
|
|
|
|
# leave subprocess out to allow forking for fetchers and processors
|
|
|
|
|
self.start_gevent()
|
|
|
|
|
else:
|
|
|
|
|
try:
|
|
|
|
|
web.app.logger.info('Starting Tornado server')
|
|
|
|
|
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile():
|
|
|
|
|
ssl={"certfile": web.ub.config.get_config_certfile(),
|
|
|
|
@ -69,6 +75,11 @@ class server:
|
|
|
|
|
self.wsgiserver.start()
|
|
|
|
|
# wait for stop signal
|
|
|
|
|
self.wsgiserver.close(True)
|
|
|
|
|
except SocketError as e:
|
|
|
|
|
web.app.logger.info("Error starting server: %s" % e.strerror)
|
|
|
|
|
print("Error starting server: %s" % e.strerror)
|
|
|
|
|
web.helper.global_WorkerThread.stop()
|
|
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
|
|
if self.restart == True:
|
|
|
|
|
web.app.logger.info("Performing restart of Calibre-Web")
|
|
|
|
|