Linked Rabbiteer & Crons
This commit is contained in:
parent
0ce2785b75
commit
8b136eb565
8 changed files with 58 additions and 8 deletions
|
@ -1,14 +1,13 @@
|
|||
import "dotenv/config"; // Load Envars
|
||||
|
||||
// Imports
|
||||
import fig from "figlet";
|
||||
import http from "http";
|
||||
import { INFO, OK, logInfo } from "../util/logging.js";
|
||||
// import "../utils/preload.js"; // Load Globals
|
||||
|
||||
// Import Core Modules
|
||||
import expressApp from "./server.js";
|
||||
import applySockets from "../sockets/handler.js";
|
||||
import JobManager from "./JobManager.js";
|
||||
import rabbiteer from "../rabbit/rabbit-workers.js";
|
||||
|
||||
// Constants
|
||||
const title = "QLTR";
|
||||
|
@ -25,9 +24,10 @@ export default class Qualiteer {
|
|||
async _preinitialize() {
|
||||
logInfo(fig.textSync(title, "Cosmike"));
|
||||
INFO("INIT", "Initializing...");
|
||||
this.app = (await import("./server.js")).default;
|
||||
this.app = expressApp;
|
||||
this.server = http.createServer(this.app);
|
||||
this.sockets = applySockets(this.server, this.jobs);
|
||||
this.rabbiteer = rabbiteer;
|
||||
}
|
||||
|
||||
start() {
|
||||
|
|
13
lib/core/crons.js
Normal file
13
lib/core/crons.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
import cron from "cron";
|
||||
const { CronJob } = cron;
|
||||
|
||||
// Remove Expired Silenced Tests
|
||||
const expiredSilenced = () => {
|
||||
console.log("Would Update Silenced Tests");
|
||||
};
|
||||
|
||||
const silencedCron = new CronJob("* * * * * *", expiredSilenced);
|
||||
|
||||
export default async function startCrons() {
|
||||
silencedCron.start();
|
||||
}
|
|
@ -11,3 +11,5 @@ app.all("/", (req, res) => res.redirect("/qualiteer"));
|
|||
|
||||
// Routes
|
||||
app.use("/api/results", results);
|
||||
|
||||
export default app;
|
||||
|
|
14
lib/rabbit/rabbit-workers.js
Normal file
14
lib/rabbit/rabbit-workers.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
import Rabbiteer from "rabbiteer";
|
||||
import workers from "./workers/index.js";
|
||||
|
||||
// Pull Environment Variables
|
||||
const { RABBIT_HOST: host, RABBIT_USER: user, RABBIT_PASS: pass } = process.env;
|
||||
|
||||
// Rabbit Config
|
||||
const rabbitConfig = {
|
||||
host: host ?? "localhost",
|
||||
user: user ?? "rabbit",
|
||||
pass: pass ?? "rabbit",
|
||||
};
|
||||
|
||||
export default new Rabbiteer(null, workers, { autoRabbit: rabbitConfig });
|
|
@ -1,7 +1,7 @@
|
|||
// Imports
|
||||
import { RabbitConsumer } from "rabiteer";
|
||||
import { Worker } from "rabbiteer";
|
||||
// Class
|
||||
export default class TestResultsConsumer extends RabbitConsumer {
|
||||
export default class TestResultsWorker extends Worker {
|
||||
constructor() {
|
||||
super("TestResults");
|
||||
}
|
3
lib/rabbit/workers/index.js
Normal file
3
lib/rabbit/workers/index.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
import TestResultsWorker from "./TestResultsWorker.js";
|
||||
|
||||
export default [new TestResultsWorker()];
|
20
package-lock.json
generated
20
package-lock.json
generated
|
@ -18,6 +18,7 @@
|
|||
"moment": "^2.29.3",
|
||||
"pg-promise": "^10.11.1",
|
||||
"postgres-migrations": "^5.3.0",
|
||||
"rabbiteer": "gitlab:Dunemask/rabbiteer",
|
||||
"socket.io": "^4.4.1",
|
||||
"socket.io-client": "^4.4.1",
|
||||
"uuid": "^8.3.2"
|
||||
|
@ -37,7 +38,7 @@
|
|||
"readline-sync": "^1.4.10"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"rabbiteer": "^1.0.0"
|
||||
"rabbiteer": "gitlab:Dunemask/rabbiteer"
|
||||
}
|
||||
},
|
||||
"node_modules/@ampproject/remapping": {
|
||||
|
@ -14590,6 +14591,15 @@
|
|||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/rabbiteer": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "git+ssh://git@gitlab.com/Dunemask/rabbiteer.git#6bb6cc26ca7ea7f4eb934529305ebb8ae0b26369",
|
||||
"license": "LGPL-2.1-only",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"amqplib": "^0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/raf": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
|
||||
|
@ -28751,6 +28761,14 @@
|
|||
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
|
||||
"dev": true
|
||||
},
|
||||
"rabbiteer": {
|
||||
"version": "git+ssh://git@gitlab.com/Dunemask/rabbiteer.git#6bb6cc26ca7ea7f4eb934529305ebb8ae0b26369",
|
||||
"from": "rabbiteer@git+https://gitlab.com/Dunemask/rabbiteer.git",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"amqplib": "^0.8.0"
|
||||
}
|
||||
},
|
||||
"raf": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"author": "Dunemask",
|
||||
"license": "LGPL-2.1-only",
|
||||
"optionalDependencies": {
|
||||
"rabbiteer": "^1.0.0"
|
||||
"rabbiteer": "gitlab:Dunemask/rabbiteer"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mui/icons-material": "^5.6.2",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue