1
0
cvsa/packages/crawler/mq/init.ts

76 lines
1.7 KiB
TypeScript

import { HOUR, MINUTE, SECOND } from "@core/lib";
import { ClassifyVideoQueue, LatestVideosQueue, SnapshotQueue } from "mq/index";
import logger from "@core/log";
import { initSnapshotWindowCounts } from "db/snapshotSchedule";
import { redis } from "@core/db/redis";
import { sql } from "@core/db/dbNew";
export async function initMQ() {
await initSnapshotWindowCounts(sql, redis);
// await LatestVideosQueue.upsertJobScheduler("getLatestVideos", {
// every: 1 * MINUTE,
// immediately: true
// });
await ClassifyVideoQueue.upsertJobScheduler("classifyVideos", {
every: 5 * MINUTE,
immediately: true
});
// await LatestVideosQueue.upsertJobScheduler("collectSongs", {
// every: 3 * MINUTE,
// immediately: true
// });
// await SnapshotQueue.upsertJobScheduler(
// "snapshotTick",
// {
// every: 1 * SECOND,
// immediately: true
// },
// {
// opts: {
// removeOnComplete: 300,
// removeOnFail: 600
// }
// }
// );
// await SnapshotQueue.upsertJobScheduler(
// "bulkSnapshotTick",
// {
// every: 15 * SECOND,
// immediately: true
// },
// {
// opts: {
// removeOnComplete: 60,
// removeOnFail: 600
// }
// }
// );
// await SnapshotQueue.upsertJobScheduler("dispatchMilestoneSnapshots", {
// every: 5 * MINUTE,
// immediately: true
// });
// await SnapshotQueue.upsertJobScheduler("dispatchRegularSnapshots", {
// every: 30 * MINUTE,
// immediately: true
// });
// await SnapshotQueue.upsertJobScheduler("dispatchArchiveSnapshots", {
// every: 2 * HOUR,
// immediately: false
// });
// await SnapshotQueue.upsertJobScheduler("scheduleCleanup", {
// every: 2 * MINUTE,
// immediately: true
// });
logger.log("Message queue initialized.");
}