sunshine: improve launching of pairing
All checks were successful
checks / checks (pull_request) Successful in 3m21s
checks / check-links (pull_request) Successful in 20s
checks / checks-impure (pull_request) Successful in 1m47s

This commit is contained in:
a-kenji 2024-03-20 09:55:25 +01:00
parent 7c378fced6
commit f0b00b7360
3 changed files with 11 additions and 7 deletions

View File

@ -155,7 +155,7 @@ in
startLimitBurst = 5;
startLimitIntervalSec = 500;
script = ''
${lib.getExe pkgs.sunshine} --creds sunshine sunshine
${lib.getExe pkgs.sunshine} ${sunshineConfiguration} --creds sunshine sunshine
'';
serviceConfig = {
Restart = "on-failure";

View File

@ -19,6 +19,7 @@
tea-create-pr = pkgs.callPackage ./tea-create-pr { };
zerotier-members = pkgs.callPackage ./zerotier-members { };
zt-tcp-relay = pkgs.callPackage ./zt-tcp-relay { };
moonlight-sunshine-accept = pkgs.callPackage ./moonlight-sunshine-accept { };
merge-after-ci = pkgs.callPackage ./merge-after-ci { inherit (config.packages) tea-create-pr; };
pending-reviews = pkgs.callPackage ./pending-reviews { };
}

View File

@ -10,18 +10,19 @@ class MoonlightPairing:
self.found = threading.Event()
def init_pairing(self, host: str, pin: str) -> bool:
# host = f"[{host}]"
args = ["moonlight", "pair", host, "--pin", pin]
print("Trying to pair")
try:
self.process = subprocess.Popen(
args, stderr=subprocess.PIPE, stdout=subprocess.PIPE
)
print(f"Running command: {args}")
self.process = subprocess.Popen(args, stdout=subprocess.PIPE)
print("Pairing initiated")
thread = threading.Thread(
target=self.stream_output,
args=('Latest supported GFE server: "99.99.99.99"',),
)
thread.start()
print("Thread started")
return True
except Exception as e:
print(
@ -51,6 +52,8 @@ class MoonlightPairing:
self.found.set()
break
def wait_until_started(self) -> None:
self.found.wait()
print("Started up.")
def wait_until_started(self, timeout: int = 10) -> None:
if self.found.wait(timeout):
print("Started up.")
else:
print("Starting up took took too long. Terminated the process.")