Merge pull request #532 from lnbits/retry_connection_on_fail

Retry backend connection on startup
This commit is contained in:
Arc
2022-03-07 04:18:57 +00:00
committed by GitHub

View File

@ -84,15 +84,16 @@ def create_app(config_object="lnbits.settings") -> FastAPI:
def check_funding_source(app: FastAPI) -> None: def check_funding_source(app: FastAPI) -> None:
@app.on_event("startup") @app.on_event("startup")
async def check_wallet_status(): async def check_wallet_status():
while True:
error_message, balance = await WALLET.status() error_message, balance = await WALLET.status()
if error_message: if not error_message:
break
warnings.warn( warnings.warn(
f" × The backend for {WALLET.__class__.__name__} isn't working properly: '{error_message}'", f" × The backend for {WALLET.__class__.__name__} isn't working properly: '{error_message}'",
RuntimeWarning, RuntimeWarning,
) )
print("Retrying connection to backend in 5 seconds...")
sys.exit(4) await asyncio.sleep(5)
else:
print( print(
f" ✔️ {WALLET.__class__.__name__} seems to be connected and with a balance of {balance} msat." f" ✔️ {WALLET.__class__.__name__} seems to be connected and with a balance of {balance} msat."
) )