Skip to content
This repository was archived by the owner on Nov 10, 2025. It is now read-only.

Commit f7a5c76

Browse files
committed
fix(master): use ioredis and sentinels
1 parent 7a84b5c commit f7a5c76

6 files changed

Lines changed: 106 additions & 87 deletions

File tree

apps/master/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,17 @@
1212
"@sentry/tracing": "^7.46.0",
1313
"cron": "^2.3.0",
1414
"debug": "^4.3.4",
15+
"ioredis": "^5.0.1",
1516
"mongodb": "^5.1.0",
16-
"redis": "^4.6.5",
1717
"source-map-support": "^0.5.21"
1818
},
1919
"devDependencies": {
2020
"@types/cron": "^2.0.1",
2121
"@types/debug": "^4.1.7",
22+
"@types/ioredis": "^4.28.10",
2223
"dotenv": "^16.0.3",
2324
"ts-devscript": "^3.0.7",
2425
"typescript": "^5.0.3"
2526
},
26-
"packageManager": "pnpm@8.1.0"
27+
"packageManager": "pnpm@8.13.0"
2728
}

apps/master/src/index.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import * as Sentry from "@sentry/node";
66
import { Integrations } from "@sentry/tracing";
77
import debug from "debug";
88
import { MongoClient } from "mongodb";
9-
import { createClient } from "redis";
9+
import { Redis } from "ioredis";
1010

1111
import calculatePresenceUsage from "./util/calculatePresenceUsage.js";
1212
import updateScience from "./util/updateScience.js";
@@ -23,18 +23,20 @@ Sentry.init({
2323
integrations: [new Integrations.Mongo()]
2424
});
2525

26-
export const redis = createClient({
27-
url: process.env.REDIS_URL || "redis://localhost:6379/"
26+
export const redis = new Redis({
27+
sentinels: [
28+
{
29+
host: process.env.REDIS_HOST || "localhost",
30+
port: parseInt(process.env.REDIS_PORT || "26379")
31+
}
32+
],
33+
name: "mymaster"
2834
}),
2935
mongo = new MongoClient(process.env.MONGO_URL!, {
3036
appName: "PreMiD-API-Master"
3137
}),
3238
mainLog = debug("API-Master");
3339

34-
redis.on("error", err => {
35-
throw err;
36-
});
37-
3840
debug.enable("API-Master*");
3941

4042
mainLog("Connecting to MongoDB...");

apps/master/src/util/updateScience.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default async function () {
55
key = "pmd-api.scienceUpdates";
66

77
log("Updating...");
8-
const scienceUpdates = await redis.hVals(key);
8+
const scienceUpdates = await redis.hvals(key);
99

1010
let invalidEntries: string[] = [],
1111
entries: {
@@ -35,7 +35,7 @@ export default async function () {
3535
}
3636

3737
if (invalidEntries.length) {
38-
await redis.hDel(key, invalidEntries);
38+
await redis.hdel(key, ...invalidEntries);
3939
log("Deleted %n invalid entries", invalidEntries.length);
4040
}
4141

@@ -53,10 +53,7 @@ export default async function () {
5353
}))
5454
);
5555

56-
await redis.hDel(
57-
key,
58-
entries.map(e => e.identifier)
59-
);
56+
await redis.hdel(key, ...entries.map(e => e.identifier));
6057

6158
log(
6259
"Inserted %s entries, Updated %s entries",
@@ -65,7 +62,7 @@ export default async function () {
6562
);
6663
} else log("No entries to update");
6764

68-
const delRedis = await redis.hVals("pmd-api.scienceDeletes");
65+
const delRedis = await redis.hvals("pmd-api.scienceDeletes");
6966

7067
let orMatch: any[] = [
7168
{
@@ -79,7 +76,7 @@ export default async function () {
7976
$or: orMatch
8077
});
8178

82-
if (delRedis.length) await redis.hDel("pmd-api.scienceDeletes", delRedis);
79+
if (delRedis.length) await redis.hdel("pmd-api.scienceDeletes", ...delRedis);
8380

8481
if (delRes.deletedCount) log("Deleted %s entries", delRes.deletedCount);
8582
}

apps/worker/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,5 @@
4141
"ts-devscript": "^3.0.6",
4242
"typescript": "^5.0.3"
4343
},
44-
"packageManager": "pnpm@7.32.5"
44+
"packageManager": "pnpm@8.13.0"
4545
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"packageManager": "pnpm@8.5.1"
2+
"packageManager": "pnpm@8.13.0"
33
}

0 commit comments

Comments
 (0)