Commit 56480c77 authored by Grant's avatar Grant
Browse files

chore: cleanup bullmq jobs & fix lib

parent fea0ef6f
Loading
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -39,11 +39,13 @@
  "devDependencies": {
    "@tsconfig/recommended": "^1.0.13",
    "@types/react": "^19",
    "@types/react-dom": "^19",
    "altcha-lib": "^1.4.1",
    "rolldown": "^1.0.0-rc.18",
    "typescript": "^5.9.3"
  },
  "peerDependencies": {
    "react": "^19"
    "react": "^19",
    "react-dom": "^19"
  }
}
+1 −1
Original line number Diff line number Diff line
@@ -16,5 +16,5 @@ export default defineConfig({
      format: "esm",
    },
  ],
  external: [/node:/],
  external: [/node:/, "react", "react-dom"],
});
+2 −0
Original line number Diff line number Diff line
import { Router } from "../lib/router";
import { CanvasAdminEndpoints } from "./canvas";
import { MaintenanceEndpoints } from "./maintenance";
import { ReportEndpoints } from "./reports";
import { RulesEndpoints } from "./rules";
import { SettingsEndpoints } from "./settings";
@@ -15,5 +16,6 @@ export class AdminEndpoints extends Router {
    this.use("/rules", new RulesEndpoints());
    this.use("/users", new UsersEndpoints());
    this.use("/settings", new SettingsEndpoints());
    this.use("/maintenance", new MaintenanceEndpoints());
  }
}
+14 −0
Original line number Diff line number Diff line
import { BullMQ_JobManager } from "../../jobs/bullmq";
import { getLogger } from "../../lib/Logger";
import { Router } from "../lib/router";

const Logger = getLogger();

export class MaintenanceEndpoints extends Router {
  @Router.handler("post", "/drain_jobs")
  async drainJobs(req: Router.Request, res: Router.Response) {
    res.json({
      output: await BullMQ_JobManager.maintenance_drainJobs(),
    });
  }
}
+7 −0
Original line number Diff line number Diff line
@@ -21,4 +21,11 @@ export const BullMQ_JobManager = new (class BullMQ_JobManager {
    setupWorker(Job_Networking.startWorker());
    setupWorker(Job_Canvas.startWorker());
  }

  async maintenance_drainJobs() {
    return await Promise.allSettled([
      Job_Networking.drain(),
      Job_Canvas.drain(),
    ]);
  }
})();
Loading