Merge branch 'rm-cron' into 'main'
Remove cron.ts See merge request soapbox-pub/ditto!201
This commit is contained in:
commit
9c1760bcc0
|
@ -2,7 +2,6 @@ import { NostrEvent, NStore } from '@nostrify/nostrify';
|
|||
import { type Context, Env as HonoEnv, type Handler, Hono, Input as HonoInput, type MiddlewareHandler } from 'hono';
|
||||
import { cors, logger, serveStatic } from 'hono/middleware';
|
||||
|
||||
import '@/cron.ts';
|
||||
import { type User } from '@/db/users.ts';
|
||||
import { Debug } from '@/deps.ts';
|
||||
import '@/firehose.ts';
|
||||
|
|
29
src/cron.ts
29
src/cron.ts
|
@ -1,29 +0,0 @@
|
|||
import { deleteUnattachedMediaByUrl, getUnattachedMedia } from '@/db/unattached-media.ts';
|
||||
import { cron } from '@/deps.ts';
|
||||
import { Time } from '@/utils/time.ts';
|
||||
import { configUploader as uploader } from '@/uploaders/config.ts';
|
||||
import { cidFromUrl } from '@/utils/ipfs.ts';
|
||||
|
||||
/** Delete files that aren't attached to any events. */
|
||||
async function cleanupMedia() {
|
||||
console.info('Deleting orphaned media files...');
|
||||
|
||||
const until = new Date(Date.now() - Time.minutes(15));
|
||||
const media = await getUnattachedMedia(until);
|
||||
|
||||
for (const { url } of media) {
|
||||
const cid = cidFromUrl(new URL(url))!;
|
||||
try {
|
||||
await uploader.delete(cid);
|
||||
await deleteUnattachedMediaByUrl(url);
|
||||
} catch (e) {
|
||||
console.error(`Failed to delete file ${url}`);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
console.info(`Removed ${media?.length ?? 0} orphaned media files.`);
|
||||
}
|
||||
|
||||
cleanupMedia();
|
||||
cron.every15Minute(cleanupMedia);
|
Loading…
Reference in New Issue