From d5bae2d77276b65c9f9ecaac34a67af718cc9836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=9C=E8=8F=AF?= Date: Sat, 18 Feb 2023 20:31:22 +0800 Subject: [PATCH] TASK ID --- server/api/drawing.ts | 48 +++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/server/api/drawing.ts b/server/api/drawing.ts index 01d4092..43dcbcc 100644 --- a/server/api/drawing.ts +++ b/server/api/drawing.ts @@ -14,7 +14,7 @@ export default defineEventHandler(async event => { tasks = tasks.filter((task: any) => task.model === tasks[0].model) // 筛选出首位model的任务 tasks.forEach(async (task: any) => { task.status = 'processing' - await useStorage().setItem(`task:${task.tid}`, task) + await useStorage().setItem(`task:${task.id}`, task) }) } return tasks @@ -28,41 +28,41 @@ export default defineEventHandler(async event => { // 修改任务状态 tasks.forEach(async (task: any) => { task.status = 'finished' - await useStorage().setItem(`task:${task.tid}`, task) + await useStorage().setItem(`task:${task.id}`, task) }) return tasks } // 添加任务到队列(生成一个32位随机字符串作为任务ID) if (event.node.req.method === 'POST') { - const body = await readBody(event) // 读取body数据到 - body.tid = Math.random().toString(36).substring(2, 34) // 生成随机任务ID - body.uid = 1234567890 // 用户ID - body.createdAt = new Date().getTime() // 设定创建时间 + const task = await readBody(event) // 读取body数据到 + task.id = Math.random().toString(36).substring(2, 34) // 生成随机任务ID + task.uid = 1234567890 // 用户ID + task.createdAt = new Date().getTime() // 设定创建时间 // 验证需要输入的参数 - body.model = 'SD2' // 模型 - body.ckpt = '768-v-ema' // 风格 - body.prompt = '猫猫' // 提示词 - body.remove = '狗狗' // 排除词 - body.number = 1 // 生成数量 - body.w = 512 // 图片宽度 - body.h = 512 // 图片高度 - body.seed = 0 // 随机种子 - body.sampler = 'pndm' // 扩散采样器 - body.prompt_guidance = 0.5 // 提示词权重 - body.quality_details = 25 // 质量和细节(步数) + task.model = 'SD2' // 模型 + task.ckpt = '768-v-ema' // 风格 + task.prompt = '猫猫' // 提示词 + task.remove = '狗狗' // 排除词 + task.number = 1 // 生成数量 + task.w = 512 // 图片宽度 + task.h = 512 // 图片高度 + task.seed = 0 // 随机种子 + task.sampler = 'pndm' // 扩散采样器 + task.prompt_guidance = 0.5 // 提示词权重 + task.quality_details = 25 // 质量和细节(步数) // 输出参数 - body.status = 'waiting' // 任务状态 - body.progress = 0.00 // 任务进度 - body.image = '' // 图片数据 - body.data = null // 生成结果 - console.log('task:', body) - await useStorage().setItem(`task:${body.tid}`, body) // 保存任务到内存 + task.status = 'waiting' // 任务状态 + task.progress = 0.00 // 任务进度 + task.image = '' // 图片数据 + task.data = null // 生成结果 + console.log('task:', task) + await useStorage().setItem(`task:${task.id}`, task) // 保存任务到内存 // 筛选出所有的任务(并打印) let tasks = await useStorage().getKeys().then((keys: any[]) => keys.filter(key => key.startsWith('task:'))) console.log('tasks:', tasks) // 如果无需排队,直接返回结果, 否则返回任务排队状态(预估等待时间) - return body + return task } })