Add timeout to get tabs request, wait for network online target before booting decky (#239)

* Add timeout to tabs get request

* Wait for network interfaces to be ready before booting decky
This commit is contained in:
suchmememanyskill
2022-10-30 00:13:19 +02:00
committed by GitHub
parent 4d30339c34
commit f5fc205384
3 changed files with 9 additions and 1 deletions
+5 -1
View File
@@ -7,6 +7,7 @@ from typing import List
from aiohttp import ClientSession from aiohttp import ClientSession
from aiohttp.client_exceptions import ClientConnectorError from aiohttp.client_exceptions import ClientConnectorError
from asyncio.exceptions import TimeoutError
import uuid import uuid
BASE_ADDRESS = "http://localhost:8080" BASE_ADDRESS = "http://localhost:8080"
@@ -341,12 +342,15 @@ async def get_tabs() -> List[Tab]:
while True: while True:
try: try:
res = await web.get(f"{BASE_ADDRESS}/json") res = await web.get(f"{BASE_ADDRESS}/json", timeout=3)
except ClientConnectorError: except ClientConnectorError:
logger.debug("ClientConnectorError excepted.") logger.debug("ClientConnectorError excepted.")
logger.debug("Steam isn't available yet. Wait for a moment...") logger.debug("Steam isn't available yet. Wait for a moment...")
logger.error(format_exc()) logger.error(format_exc())
await sleep(5) await sleep(5)
except TimeoutError:
logger.warn(f"The request to {BASE_ADDRESS}/json timed out")
await sleep(1)
else: else:
break break
+2
View File
@@ -30,6 +30,8 @@ rm -f "/etc/systemd/system/plugin_loader.service"
cat > "/etc/systemd/system/plugin_loader.service" <<- EOM cat > "/etc/systemd/system/plugin_loader.service" <<- EOM
[Unit] [Unit]
Description=SteamDeck Plugin Loader Description=SteamDeck Plugin Loader
After=network-online.target
Wants=network-online.target
[Service] [Service]
Type=simple Type=simple
User=root User=root
+2
View File
@@ -30,6 +30,8 @@ rm -f "/etc/systemd/system/plugin_loader.service"
cat > "/etc/systemd/system/plugin_loader.service" <<- EOM cat > "/etc/systemd/system/plugin_loader.service" <<- EOM
[Unit] [Unit]
Description=SteamDeck Plugin Loader Description=SteamDeck Plugin Loader
After=network-online.target
Wants=network-online.target
[Service] [Service]
Type=simple Type=simple
User=root User=root