Spaces:
Running
Running
// Shouldn't be needed if we dove into sveltekit internals, see https://github.com/huggingface/chat-ui/pull/88#issuecomment-1523173850 | |
import { setTimeout } from "node:timers/promises"; | |
import { collections } from "./database"; | |
let closed = false; | |
process.on("SIGINT", () => { | |
closed = true; | |
}); | |
export let abortedGenerations: Map<string, Date> = new Map(); | |
async function maintainAbortedGenerations() { | |
while (!closed) { | |
await setTimeout(1000); | |
try { | |
const aborts = await collections.abortedGenerations.find({}).sort({ createdAt: 1 }).toArray(); | |
abortedGenerations = new Map( | |
aborts.map(({ conversationId, createdAt }) => [conversationId.toString(), createdAt]) | |
); | |
} catch (err) { | |
console.error(err); | |
} | |
} | |
} | |
maintainAbortedGenerations(); | |