virtual-characters / scripts /restart_gradio_background.ps1
ShadowInk's picture
Upload complete Space runtime files
6bcddd0 verified
Raw
History Blame Contribute Delete
1.97 kB
param(
[int]$Port = 7864,
[string]$ServerName = "127.0.0.1",
[string]$VllmUrl = "https://veronicaulises0--virtual-characters-vllm-gemma-serve.modal.run",
[string]$TtsUrl = "https://veronicaulises0--virtual-characters-tts-charactertts-tts.modal.run",
[switch]$Mock
)
$ErrorActionPreference = "Continue"
$repoRoot = Split-Path -Parent $PSScriptRoot
$logsDir = Join-Path $repoRoot ".logs"
New-Item -ItemType Directory -Force -Path $logsDir | Out-Null
$portsToStop = @(7861, 7862, 7863, 7864, 7865, 7867, $Port) | Select-Object -Unique
$stopped = @()
foreach ($candidatePort in $portsToStop) {
$listeners = netstat -ano | Select-String "127\.0\.0\.1:$candidatePort\s+0\.0\.0\.0:0\s+LISTENING"
foreach ($line in $listeners) {
$parts = ($line.ToString() -split "\s+") | Where-Object { $_ }
if ($parts.Length -lt 5) {
continue
}
$targetPid = [int]$parts[-1]
Stop-Process -Id $targetPid -Force -ErrorAction SilentlyContinue
$stopped += [ordered]@{ port = $candidatePort; pid = $targetPid }
}
}
$stamp = Get-Date -Format "yyyyMMdd-HHmmss"
$stdout = Join-Path $logsDir "gradio-$Port-$stamp.out.log"
$stderr = Join-Path $logsDir "gradio-$Port-$stamp.err.log"
$runner = Join-Path $PSScriptRoot "run_gradio_server.ps1"
$args = @(
"-NoProfile",
"-ExecutionPolicy", "Bypass",
"-File", $runner,
"-Port", "$Port",
"-ServerName", $ServerName,
"-VllmUrl", $VllmUrl,
"-TtsUrl", $TtsUrl,
"-Stdout", $stdout,
"-Stderr", $stderr
)
if ($Mock) {
$args += "-Mock"
}
$process = Start-Process `
-FilePath "powershell.exe" `
-ArgumentList $args `
-WorkingDirectory $repoRoot `
-WindowStyle Hidden `
-PassThru
[ordered]@{
stopped = $stopped
pid = $process.Id
url = "http://$ServerName`:$Port"
stdout = $stdout
stderr = $stderr
vllm_url = $VllmUrl
tts_url = $TtsUrl
mock = [bool]$Mock
} | ConvertTo-Json -Depth 5