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,18 +84,19 @@ 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():
error_message, balance = await WALLET.status() while True:
if error_message: error_message, balance = await WALLET.status()
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." )
)
def register_routes(app: FastAPI) -> None: def register_routes(app: FastAPI) -> None: