dimah-s3v1.5.5
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.

scripts/purge-stale.ts
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

On this page