Dispatch-Chron Jobs in Core-Server verschoben #65
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
DISCORD_SERVER_PORT=3005
|
||||
DISCORD_GUILD_ID=1077269395019141140
|
||||
DISCORD_OAUTH_CLIENT_ID=930384053344034846
|
||||
|
||||
@@ -3,10 +3,19 @@ import express from "express";
|
||||
import { createServer } from "http";
|
||||
import router from "routes/router";
|
||||
import cors from "cors";
|
||||
import { Server } from "socket.io";
|
||||
import { createAdapter } from "@socket.io/redis-adapter";
|
||||
import { pubClient, subClient } from "modules/redis";
|
||||
import "modules/chron";
|
||||
|
||||
const app = express();
|
||||
const server = createServer(app);
|
||||
|
||||
export const io = new Server(server, {
|
||||
adapter: createAdapter(pubClient, subClient),
|
||||
cors: {},
|
||||
});
|
||||
|
||||
app.use(cors());
|
||||
app.use(express.json());
|
||||
app.use(router);
|
||||
|
||||
@@ -58,9 +58,8 @@ const removeClosedMissions = async () => {
|
||||
l.data?.newFMSstatus === "6"
|
||||
);
|
||||
});
|
||||
|
||||
return (
|
||||
status4Log !== -1 &&
|
||||
(status4Log !== -1 || status8Log !== -1) &&
|
||||
(status1Log !== -1 || status6Log !== -1) &&
|
||||
(status4Log < status1Log ||
|
||||
status8Log < status1Log ||
|
||||
@@ -124,6 +123,7 @@ const removeClosedMissions = async () => {
|
||||
console.log(`Mission ${mission.id} closed due to inactivity.`);
|
||||
});
|
||||
};
|
||||
|
||||
const removeConnectedAircrafts = async () => {
|
||||
const connectedAircrafts = await prisma.connectedAircraft.findMany({
|
||||
where: {
|
||||
@@ -144,7 +144,7 @@ const removeConnectedAircrafts = async () => {
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
removeClosedMissions();
|
||||
cron.schedule("*/1 * * * *", async () => {
|
||||
try {
|
||||
await removeClosedMissions();
|
||||
13
apps/core-server/modules/redis.ts
Normal file
13
apps/core-server/modules/redis.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { createClient, RedisClientType } from "redis";
|
||||
|
||||
export const pubClient: RedisClientType = createClient({
|
||||
url: `redis://${process.env.REDIS_HOST}:${process.env.REDIS_PORT}`,
|
||||
});
|
||||
export const subClient: RedisClientType = pubClient.duplicate();
|
||||
|
||||
Promise.all([pubClient.connect(), subClient.connect()]).then(() => {
|
||||
console.log("Redis connected");
|
||||
});
|
||||
|
||||
pubClient.on("error", (err: unknown) => console.log("Redis Client Error", err));
|
||||
subClient.on("error", (err: unknown) => console.log("Redis Client Error", err));
|
||||
@@ -20,6 +20,7 @@
|
||||
"typescript": "latest"
|
||||
},
|
||||
"dependencies": {
|
||||
"@socket.io/redis-adapter": "^8.3.0",
|
||||
"axios": "^1.9.0",
|
||||
"cors": "^2.8.5",
|
||||
"cron": "^4.3.1",
|
||||
@@ -30,6 +31,8 @@
|
||||
"nodemon": "^3.1.10",
|
||||
"prom-client": "^15.1.3",
|
||||
"react": "^19.1.0",
|
||||
"redis": "^5.1.1",
|
||||
"socket.io": "^4.8.1",
|
||||
"tsx": "^4.19.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ import { handleConnectDesktop } from "socket-events/connect-desktop";
|
||||
import cookieParser from "cookie-parser";
|
||||
import cors from "cors";
|
||||
import { authMiddleware } from "modules/expressMiddleware";
|
||||
import "modules/chron";
|
||||
|
||||
const app = express();
|
||||
const server = createServer(app);
|
||||
|
||||
@@ -7,12 +7,6 @@ export const subClient: RedisClientType = pubClient.duplicate();
|
||||
|
||||
Promise.all([pubClient.connect(), subClient.connect()]).then(() => {
|
||||
console.log("Redis connected");
|
||||
pubClient.keys("dispatchers*").then((keys) => {
|
||||
if (!keys) return;
|
||||
keys.forEach(async (key) => {
|
||||
await pubClient.json.del(key);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
pubClient.on("error", (err) => console.log("Redis Client Error", err));
|
||||
|
||||
Reference in New Issue
Block a user