fix(runtime): prevent memory leaks and improve shutdown/stream handling across services

This commit is contained in:
2026-02-19 08:33:41 +00:00
parent ddd0662fb8
commit 9ac297c197
8 changed files with 72 additions and 8 deletions

View File

@@ -279,6 +279,14 @@ export class MetricsManager {
if (recipient) {
const count = this.emailMetrics.recipients.get(recipient) || 0;
this.emailMetrics.recipients.set(recipient, count + 1);
// Cap recipients map to prevent unbounded growth within a day
if (this.emailMetrics.recipients.size > this.MAX_TOP_DOMAINS) {
const sorted = Array.from(this.emailMetrics.recipients.entries())
.sort((a, b) => b[1] - a[1])
.slice(0, Math.floor(this.MAX_TOP_DOMAINS * 0.8));
this.emailMetrics.recipients = new Map(sorted);
}
}
if (deliveryTimeMs) {