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 + }); } /**