Put ACE-Step music jobs on the same studio queue as video and image.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -44,6 +44,15 @@ function classifyError(message: string) {
|
||||
return message
|
||||
}
|
||||
|
||||
async function settleMusicStudio(job: Job) {
|
||||
try {
|
||||
const { onLiveVideoSettled } = await import('~/server/utils/studioQueue')
|
||||
await onLiveVideoSettled(job)
|
||||
} catch {
|
||||
/* queue kick is best-effort */
|
||||
}
|
||||
}
|
||||
|
||||
function nodeLabel(node: string) {
|
||||
if (!node) return ''
|
||||
return NODE_LABELS[node] || ''
|
||||
@@ -118,6 +127,7 @@ function watchMusicJob(job: Job): Promise<void> {
|
||||
job.status = job.status === 'cancelled' ? 'cancelled' : 'error'
|
||||
job.error = classifyError(error)
|
||||
emitJob(job, { type: 'error', error: job.error, message: job.error })
|
||||
await settleMusicStudio(job)
|
||||
resolve()
|
||||
}
|
||||
|
||||
@@ -183,6 +193,7 @@ function watchMusicJob(job: Job): Promise<void> {
|
||||
job.error = `Audio generated but library save failed: ${message}`
|
||||
emitJob(job, { type: 'error', error: job.error, message: job.error })
|
||||
}
|
||||
await settleMusicStudio(job)
|
||||
job.saving = false
|
||||
resolve()
|
||||
return true
|
||||
@@ -344,6 +355,7 @@ export async function startMusicJob(params: MusicJobParams) {
|
||||
job.status = 'error'
|
||||
job.error = classifyError(message)
|
||||
emitJob(job, { type: 'error', error: job.error, message: job.error })
|
||||
await settleMusicStudio(job)
|
||||
}
|
||||
}
|
||||
})()
|
||||
|
||||
Reference in New Issue
Block a user