refactor: update queue jobs

This commit is contained in:
Mauricio Siu
2024-10-06 14:16:31 -06:00
parent 24e4930fc1
commit 5f56512e56
6 changed files with 53 additions and 8 deletions

View File

@@ -8,8 +8,12 @@ import {
runMySqlBackup,
runPostgresBackup,
} from "@dokploy/server";
import { db } from "@dokploy/server/dist/db";
import { eq } from "drizzle-orm";
import { logger } from "./logger";
import type { QueueJob } from "./schema";
import { scheduleJob } from "./queue";
import { backups, server } from "@dokploy/server/dist/db/schema";
export const runJobs = async (job: QueueJob) => {
try {
@@ -40,3 +44,41 @@ export const runJobs = async (job: QueueJob) => {
return true;
};
export const initializeJobs = async () => {
logger.info("Setting up Jobs....");
const servers = await db.query.server.findMany({
where: eq(server.enableDockerCleanup, true),
});
for (const server of servers) {
const { serverId } = server;
scheduleJob({
serverId,
type: "server",
cronSchedule: "0 0 * * *",
});
}
logger.info({ Quantity: servers.length }, "Servers Initialized");
const backupsResult = await db.query.backups.findMany({
where: eq(backups.enabled, true),
with: {
mariadb: true,
mysql: true,
postgres: true,
mongo: true,
},
});
for (const backup of backupsResult) {
scheduleJob({
backupId: backup.backupId,
type: "backup",
cronSchedule: backup.schedule,
});
}
logger.info({ Quantity: backupsResult.length }, "Backups Initialized");
};