Skip to content

Commit b77f9bb

Browse files
authored
Fix api server crash (#2298)
* fix: increase memory allocated to Node.js * fix potential memory leaks in IMAP fetcher * add command to run signature extractor worker
1 parent 20e6d0f commit b77f9bb

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

backend/api.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ COPY --from=build-stage /leadminer-api/dist .
1818
EXPOSE 8081
1919
EXPOSE 8021
2020

21-
CMD ["node", "server.js"]
21+
CMD ["node", "--max-old-space-size=4096", "server.js"]

backend/src/services/imap/ImapEmailsFetcher.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,8 @@ export default class ImapEmailsFetcher {
256256

257257
if (this.isCanceled === true) {
258258
const message = `Canceled process on folder ${folderPath} with ID ${this.miningId}`;
259+
msg.removeAllListeners();
260+
fetchResult.removeAllListeners();
259261
reject(new Error(message));
260262
return;
261263
}
@@ -284,6 +286,10 @@ export default class ImapEmailsFetcher {
284286
);
285287
}
286288

289+
// Clear large chunks early
290+
header = null as unknown as string;
291+
body = null as unknown as string;
292+
287293
const messageId = getMessageId(parsedHeader);
288294

289295
parsedHeader['message-id'] = [messageId];

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"dev:backend-api": "npm run dev:api --prefix ./backend",
1616
"dev:backend-worker": "npm run dev:worker --prefix ./backend",
1717
"dev:backend-email-worker": "npm run dev:email-worker --prefix ./backend",
18+
"dev:backend-email-signature-worker": "npm run dev:email-signature-worker --prefix ./backend",
1819
"dev:backend-mock-external-services": "npm run dev:mock-external-services --prefix ./backend"
1920
},
2021
"author": "ankaboot",

0 commit comments

Comments
 (0)