From 5cb1e3e8d8878ed3522891a79e942b26b12ee42f Mon Sep 17 00:00:00 2001 From: Michael Schmoock Date: Tue, 31 Aug 2021 11:56:14 +0200 Subject: [PATCH] autopilot: catch and return initialization errors. --- autopilot/autopilot.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/autopilot/autopilot.py b/autopilot/autopilot.py index ce7b9c6..5acef9b 100755 --- a/autopilot/autopilot.py +++ b/autopilot/autopilot.py @@ -129,10 +129,14 @@ def init(configuration, options, plugin): plugin.min_capacity_sat = int(options['autopilot-min-channel-size-msat']) / 1000 plugin.initialized = threading.Event() plugin.autopilot = None + plugin.initerror = None print('Initialized autopilot function') def initialize_autopilot(): - plugin.autopilot = CLightning_autopilot(plugin.rpc) + try: + plugin.autopilot = CLightning_autopilot(plugin.rpc) + except Exception as e: + plugin.initerror = e plugin.initialized.set() # Load the autopilot in the background and have it notify @@ -178,6 +182,9 @@ def run_once(plugin, dryrun=False): print("I'd like to open {} new channels with {} satoshis each".format(num_channels, channel_capacity)) plugin.initialized.wait() + if plugin.initerror: + return f"Error: autopilot had initialization errors: {str(plugin.initerror)}" + candidates = plugin.autopilot.find_candidates( num_channels, strategy=Strategy.DIVERSE,