Merge pull request #452 from lbryio/retry-startup

Retry startup
This commit is contained in:
Job Evers‐Meltzer 2017-02-15 08:34:26 -06:00 committed by GitHub
commit 934a46a8b6

View file

@ -92,7 +92,7 @@ def update_settings_from_args(args):
@defer.inlineCallbacks
def start_server_and_listen(launchui, use_auth, analytics_manager):
def start_server_and_listen(launchui, use_auth, analytics_manager, max_tries=5):
"""The primary entry point for launching the daemon.
Args:
@ -102,13 +102,19 @@ def start_server_and_listen(launchui, use_auth, analytics_manager):
"""
analytics_manager.send_server_startup()
log_support.configure_analytics_handler(analytics_manager)
try:
daemon_server = DaemonServer(analytics_manager)
yield daemon_server.start(use_auth, launchui)
analytics_manager.send_server_startup_success()
except Exception as e:
log.exception('Failed to startup')
analytics_manager.send_server_startup_error(str(e))
tries = 1
while tries < max_tries:
log.info('Making attempt %s / %s to startup', tries, max_tries)
try:
daemon_server = DaemonServer(analytics_manager)
yield daemon_server.start(use_auth, launchui)
analytics_manager.send_server_startup_success()
break
except Exception as e:
log.exception('Failed to startup')
analytics_manager.send_server_startup_error(str(e))
tries += 1
else:
reactor.callFromThread(reactor.stop)