Fix Suno title badges and add stop control
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user