Skip to content

Commit 9dc56d6

Browse files
committed
lisää limiter fiksailua, pitäisi nyt pysähtyä prodissakin
1 parent 5f05034 commit 9dc56d6

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

backend/src/db/load.ts

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,31 @@ const finlexLimiter = new Bottleneck({
2828

2929
let finlexRequestCount = 0;
3030
let lastMinuteCount = 0;
31+
let finlexLogInterval: NodeJS.Timeout | null = null;
32+
3133
finlexLimiter.on('executing', () => {
3234
finlexRequestCount += 1;
3335
});
3436

35-
// Report request count every minute
36-
const finlexLogInterval = setInterval(() => {
37-
const requestsThisMinute = finlexRequestCount - lastMinuteCount;
38-
console.log(`[finlexLimiter] ${requestsThisMinute} requests in last minute (${finlexRequestCount} total)`);
39-
lastMinuteCount = finlexRequestCount;
40-
}, 60 * 1000);
37+
export function startFinlexLimiterLogging() {
38+
if (finlexLogInterval) {
39+
return;
40+
}
41+
42+
console.log('[finlexLimiter] Starting rate limiter logging...');
43+
finlexLogInterval = setInterval(() => {
44+
const requestsThisMinute = finlexRequestCount - lastMinuteCount;
45+
console.log(`[finlexLimiter] ${requestsThisMinute} requests in last minute (${finlexRequestCount} total)`);
46+
lastMinuteCount = finlexRequestCount;
47+
}, 60 * 1000);
48+
}
4149

4250
export function stopFinlexLimiterLogging() {
43-
clearInterval(finlexLogInterval);
51+
if (finlexLogInterval) {
52+
clearInterval(finlexLogInterval);
53+
finlexLogInterval = null;
54+
console.log('[finlexLimiter] Stopped rate limiter logging.');
55+
}
4456
}
4557

4658
// Generic fetch with exponential backoff and jitter, still honoring the limiter.

backend/src/dbSetup.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { setPool, dbIsReady, fillDb, createTables, dbIsUpToDate, setupTestDatabase, addStatusRow, clearStatusRows } from "./db/db.js";
2-
import { stopFinlexLimiterLogging } from "./db/load.js";
2+
import { stopFinlexLimiterLogging, startFinlexLimiterLogging } from "./db/load.js";
33
import * as Sentry from '@sentry/node';
44
import './util/config.js';
55
import { exit } from 'process';
@@ -43,6 +43,9 @@ async function initDatabase(startYear?: number) {
4343

4444
export const runSetup = async (startYear?: number) => {
4545
const setupStartTime = Date.now();
46+
47+
startFinlexLimiterLogging();
48+
4649
try {
4750
if (process.env.NODE_ENV === 'test') {
4851
console.log('[SETUP] Running in test mode...');
@@ -94,4 +97,4 @@ export const runSetup = async (startYear?: number) => {
9497
} finally {
9598
stopFinlexLimiterLogging();
9699
}
97-
}
100+
}

0 commit comments

Comments
 (0)