From 9cec701cb4097abd9fdb5b994e718d7a24fa1850 Mon Sep 17 00:00:00 2001
From: Vyacheslav Chernyshev <81693471+slaveeks@users.noreply.github.com>
Date: Thu, 11 Sep 2025 21:42:33 +0300
Subject: [PATCH] chore: added try-catch for sending report (#457)
* chore: added try-catch for sending report
* added res log
---
workers/archiver/src/index.ts | 37 +++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/workers/archiver/src/index.ts b/workers/archiver/src/index.ts
index 39d07e41..d45c863f 100644
--- a/workers/archiver/src/index.ts
+++ b/workers/archiver/src/index.ts
@@ -103,13 +103,18 @@ export default class ArchiverWorker extends Worker {
const finishDate = new Date();
const dbSizeOnFinish = (await this.eventsDbConnection.stats()).dataSize;
- await this.sendReport({
- dbSizeOnFinish,
- dbSizeOnStart,
- startDate,
- projectsData,
- finishDate,
- });
+ try {
+ await this.sendReport({
+ dbSizeOnFinish,
+ dbSizeOnStart,
+ startDate,
+ projectsData,
+ finishDate,
+ });
+ } catch (error) {
+ this.logger.error('Error sending report:', error);
+ }
+
this.logger.info(`Finish archiving at ${finishDate}.`);
this.logger.info(`Database size on start: ${prettysize(dbSizeOnStart)}, on finish: ${prettysize(dbSizeOnFinish)}, delta: ${prettysize(dbSizeOnStart - dbSizeOnFinish)}`);
}
@@ -148,11 +153,11 @@ export default class ArchiverWorker extends Worker {
await this.projectCollection.updateOne({
_id: project._id,
},
- {
- $inc: {
- archivedEventsCount: deletedCount,
- },
- });
+ {
+ $inc: {
+ archivedEventsCount: deletedCount,
+ },
+ });
}
/**
@@ -335,11 +340,17 @@ export default class ArchiverWorker extends Worker {
report += `\n\n${totalArchivedEventsCount} events and ${totalRemovedReleasesCount} releases archived in ${archivingTimeInMinutes.toFixed(DIGITS_AFTER_POINT)} min`;
report += `\nDatabase size changed from ${prettysize(reportData.dbSizeOnStart)} to ${prettysize(reportData.dbSizeOnFinish)} (–${prettysize(reportData.dbSizeOnStart - reportData.dbSizeOnFinish)})`;
- await axios({
+ const response = await axios({
method: 'post',
url: process.env.REPORT_NOTIFY_URL,
data: 'message=' + report + '&parse_mode=HTML',
});
+
+ this.logger.info('Report notification response:', {
+ status: response.status,
+ statusText: response.statusText,
+ data: response.data
+ });
}
/**