refactor DB health-check
This commit is contained in:
@@ -4,12 +4,18 @@ from typing import * # type: ignore
|
||||
|
||||
from rio import Component, event, Spacer, Card, Container, Column, Row, TextStyle, Color, Text
|
||||
|
||||
from src.ez_lan_manager import ConfigurationService
|
||||
from src.ez_lan_manager import ConfigurationService, DatabaseService
|
||||
from src.ez_lan_manager.components.DesktopNavigation import DesktopNavigation
|
||||
|
||||
class BasePage(Component):
|
||||
content: Component
|
||||
|
||||
@event.periodic(5)
|
||||
async def check_db_conn(self) -> None:
|
||||
is_healthy = await self.session[DatabaseService].is_healthy()
|
||||
if not is_healthy:
|
||||
self.session.navigate_to("./db-error")
|
||||
|
||||
@event.on_window_size_change
|
||||
async def on_window_size_change(self):
|
||||
await self.force_refresh()
|
||||
|
||||
@@ -15,12 +15,12 @@ class DbErrorPage(Component):
|
||||
async def on_window_size_change(self) -> None:
|
||||
await self.force_refresh()
|
||||
|
||||
# @event.on_mount
|
||||
# async def retry_db_connect(self) -> None:
|
||||
# await self.session.set_title(f"{self.session[ConfigurationService].get_lan_info().name} - Fehler")
|
||||
# while not self.session[DatabaseService].is_connected:
|
||||
# await sleep(2)
|
||||
# self.session.navigate_to("./")
|
||||
@event.on_mount
|
||||
async def retry_db_connect(self) -> None:
|
||||
await self.session.set_title(f"{self.session[ConfigurationService].get_lan_info().name} - Fehler")
|
||||
while not await self.session[DatabaseService].is_healthy():
|
||||
await sleep(2)
|
||||
self.session.navigate_to("./")
|
||||
|
||||
def build(self) -> Component:
|
||||
content = Card(
|
||||
|
||||
Reference in New Issue
Block a user