mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
refactor: update queue jobs
This commit is contained in:
@@ -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");
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user