Fix Suno title badges and add stop control

This commit is contained in:
DESKTOP-KSVGT20\shkim
2026-05-02 01:43:51 +09:00
parent d90b2b0329
commit 8efd24a50a
2 changed files with 116 additions and 3 deletions
+40
View File
@@ -251,6 +251,28 @@ function Get-QueueSnapshot {
}
}
function Stop-AllWork {
$stopped = 0
foreach ($job in @($script:activeJobs)) {
try {
if ($job.Process -and -not $job.Process.HasExited) {
Stop-Process -Id $job.Process.Id -Force -ErrorAction Stop
$stopped++
}
} catch {}
[void]$script:activeIds.Remove($job.TrackId)
}
$dropped = $script:queue.Count
$script:queue.Clear()
$script:queueIds.Clear()
$script:activeJobs.Clear()
Show-Dashboard -Force
return [pscustomobject]@{
stopped = $stopped
dropped = $dropped
}
}
function Show-Dashboard {
param([switch]$Force)
@@ -496,6 +518,24 @@ try {
continue
}
if ($request.Method -eq "POST" -and $request.Path -eq "/stop") {
$result = Stop-AllWork
Write-Host "Stopped work: active=$($result.stopped), queued=$($result.dropped)"
$snapshot = Get-QueueSnapshot
Write-Response $stream 200 "OK" (@{
ok = $true
stopped = $result.stopped
dropped = $result.dropped
queued = $snapshot.queued
activeCount = $snapshot.activeCount
total = $snapshot.total
completed = $snapshot.completed
failed = $snapshot.failed
percent = $snapshot.percent
} | ConvertTo-Json -Compress)
continue
}
if ($request.Method -eq "POST" -and $request.Path -eq "/sync-index") {
$manifest = $request.Body | ConvertFrom-Json
$result = Get-MissingTracks $manifest.tracks