Stop batched tasks properly

This commit is contained in:
cmdr2 2022-09-27 20:05:22 +05:30
parent edb4b9a82e
commit 32bafd8b01

View File

@ -116,6 +116,7 @@ let modifiers = []
let lastPromptUsed = ''
let taskQueue = []
let currentTask = null
const modifierThumbnailPath = 'media/modifier-thumbnails';
const activeCardClass = 'modifier-card-active';
@ -528,6 +529,8 @@ async function checkTasks() {
setTimeout(checkTasks, 500)
stopImageBtn.style.display = 'none'
makeImageBtn.innerHTML = 'Make Image'
currentTask = null
return
}
@ -539,6 +542,7 @@ async function checkTasks() {
previewTools.style.display = 'block'
let task = taskQueue.pop()
currentTask = task
let time = new Date().getTime()
@ -556,6 +560,10 @@ async function checkTasks() {
let success = await doMakeImage(task)
task.batchesDone++
if (!task.isProcessing) {
break
}
if (success) {
successCount++
}
@ -572,12 +580,16 @@ async function checkTasks() {
task.outputMsg.innerText = 'Processed ' + task.numOutputsTotal + ' images in ' + time + ' seconds'
// setStatus('request', 'done', 'success')
} else {
task.outputMsg.innerText = 'Task ended after ' + time + ' seconds'
}
if (randomSeedField.checked) {
seedField.value = task.seed
}
currentTask = null
setTimeout(checkTasks, 10)
}
setTimeout(checkTasks, 0)
@ -715,6 +727,7 @@ async function makeImage() {
task['stopTask'].addEventListener('click', async function() {
if (task['isProcessing']) {
task.isProcessing = false
try {
let res = await fetch('/image/stop')
} catch (e) {
@ -821,6 +834,10 @@ async function stopAllTasks() {
})
taskQueue = []
if (currentTask !== null) {
currentTask.isProcessing = false
}
try {
let res = await fetch('/image/stop')
} catch (e) {