O módulo usa a identidade Supabase, isola cada workspace e registra storage, TTL, runner e biblioteca XLSX como decisões ainda abertas. Co-authored-by: Cursor <cursoragent@cursor.com>
13 lines
691 B
TypeScript
13 lines
691 B
TypeScript
import path from "node:path";
|
|
import { createFileDb } from "../src/infra/db/pglite";
|
|
import { createPostgresDb } from "../src/infra/db/postgres";
|
|
import { MemoryCoordinator } from "../src/infra/redis/memory";
|
|
import { createStorage } from "../src/infra/storage";
|
|
import { cleanupExpired } from "../src/server/spreadsheet-adapter/process-job";
|
|
|
|
const databaseUrl = process.env.DATABASE_URL;
|
|
const db = databaseUrl ? createPostgresDb(databaseUrl) : await createFileDb(path.join(process.cwd(), ".data", "pglite"));
|
|
const removed = await cleanupExpired({ db, storage: createStorage(), coordinator: new MemoryCoordinator() });
|
|
console.log(`temporários expirados: ${removed}`);
|
|
await db.close();
|