import { deliverQueue, inboxQueue } from "./queues.js"; import { dbInit } from "./queues/db/index.js"; import { deliverInit, deliverLogger } from "./queues/deliver.js"; import { endedPollNotificationInit } from "./queues/ended-poll-notification.js"; import { inboxInit, inboxLogger } from "./queues/inbox.js"; import { objectStorageInit } from "./queues/object-storage/index.js"; import { systemInit } from "./queues/system/index.js"; import { webhookDeliverInit } from "./queues/webhook-deliver.js"; export { createDeleteDriveFilesJob, createExportCustomEmojisJob, createExportNotesJob, createExportFollowingJob, createExportMuteJob, createExportBlockingJob, createExportUserListsJob, createImportFollowingJob, createImportMutingJob, createImportBlockingJob, createImportUserListsJob, createImportCustomEmojisJob, createDeleteAccountJob } from "./queues/db/index.js"; export { createDeleteObjectStorageFileJob, createCleanRemoteFilesJob } from "./queues/object-storage/index.js"; export { systemQueue } from "./queues/system/index.js"; export { deliverJob as deliver, deliverQueue } from "./queues/deliver.js"; export { endedPollNotificationQueue } from "./queues/ended-poll-notification.js"; export { inboxJob as inbox, inboxQueue } from "./queues/inbox.js"; export { webhookDeliverJob as webhookDeliver, webhookDeliverQueue } from "./queues/webhook-deliver.js"; export default async function() { // initialize queue workers await dbInit(); await objectStorageInit(); await systemInit(); await deliverInit(); await endedPollNotificationInit(); await inboxInit(); await webhookDeliverInit(); } export function destroy() { deliverQueue.once("cleaned", (jobs, status)=>{ deliverLogger.succ(`Cleaned ${jobs.length} ${status} jobs`); }); deliverQueue.clean(0, Infinity, "delayed"); inboxQueue.once("cleaned", (jobs, status)=>{ inboxLogger.succ(`Cleaned ${jobs.length} ${status} jobs`); }); inboxQueue.clean(0, Infinity, "delayed"); }