Database
Purge Stale Uploads
Clean up unconfirmed pending database rows and incomplete S3 uploads.
When clients request a presigned upload but fail to upload or confirm, database rows remain in status: "pending".
purgeStalePendingObjects cleans up expired rows and aborts any incomplete multipart uploads.
import { purgeStalePendingObjects } from "@dimah-s3/db";
import { dimahS3Db } from "@/lib/dimah-s3-db";
import { awsS3 } from "@/lib/s3";
const { purged } = await purgeStalePendingObjects({
client: dimahS3Db,
olderThanMs: 24 * 60 * 60 * 1000, // 24 hours
s3: awsS3,
});
console.log(`Purged ${purged.length} stale uploads.`);Frequently asked questions
Run it on a daily cron job (e.g. Vercel Cron, GitHub Actions, or Node cron workers).