Retry backend connection on startup

This commit is contained in:
callebtc 2022-02-21 09:17:36 +01:00
parent 41a9689014
commit fbafe2b8f1

View File

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