Wrap statistics db ops with try/catch

This commit is contained in:
nymkappa 2022-01-24 16:22:38 +09:00
parent 230f563235
commit a805c86697
No known key found for this signature in database
GPG key ID: E155910B16E8BD04

View file

@ -53,12 +53,16 @@ class Statistics {
memPoolArray = memPoolArray.filter((tx) => tx.effectiveFeePerVsize); memPoolArray = memPoolArray.filter((tx) => tx.effectiveFeePerVsize);
if (!memPoolArray.length) { if (!memPoolArray.length) {
const insertIdZeroed = await this.$createZeroedStatistic(); try {
if (this.newStatisticsEntryCallback && insertIdZeroed) { const insertIdZeroed = await this.$createZeroedStatistic();
const newStats = await this.$get(insertIdZeroed); if (this.newStatisticsEntryCallback && insertIdZeroed) {
if (newStats) { const newStats = await this.$get(insertIdZeroed);
this.newStatisticsEntryCallback(newStats); if (newStats) {
this.newStatisticsEntryCallback(newStats);
}
} }
} catch (e) {
logger.err('Unable to insert zeroed statistics. ' + e);
} }
return; return;
} }
@ -90,59 +94,63 @@ class Statistics {
} }
}); });
const insertId = await this.$create({ try {
added: 'NOW()', const insertId = await this.$create({
unconfirmed_transactions: memPoolArray.length, added: 'NOW()',
tx_per_second: txPerSecond, unconfirmed_transactions: memPoolArray.length,
vbytes_per_second: Math.round(vBytesPerSecond), tx_per_second: txPerSecond,
mempool_byte_weight: totalWeight, vbytes_per_second: Math.round(vBytesPerSecond),
total_fee: totalFee, mempool_byte_weight: totalWeight,
fee_data: '', total_fee: totalFee,
vsize_1: weightVsizeFees['1'] || 0, fee_data: '',
vsize_2: weightVsizeFees['2'] || 0, vsize_1: weightVsizeFees['1'] || 0,
vsize_3: weightVsizeFees['3'] || 0, vsize_2: weightVsizeFees['2'] || 0,
vsize_4: weightVsizeFees['4'] || 0, vsize_3: weightVsizeFees['3'] || 0,
vsize_5: weightVsizeFees['5'] || 0, vsize_4: weightVsizeFees['4'] || 0,
vsize_6: weightVsizeFees['6'] || 0, vsize_5: weightVsizeFees['5'] || 0,
vsize_8: weightVsizeFees['8'] || 0, vsize_6: weightVsizeFees['6'] || 0,
vsize_10: weightVsizeFees['10'] || 0, vsize_8: weightVsizeFees['8'] || 0,
vsize_12: weightVsizeFees['12'] || 0, vsize_10: weightVsizeFees['10'] || 0,
vsize_15: weightVsizeFees['15'] || 0, vsize_12: weightVsizeFees['12'] || 0,
vsize_20: weightVsizeFees['20'] || 0, vsize_15: weightVsizeFees['15'] || 0,
vsize_30: weightVsizeFees['30'] || 0, vsize_20: weightVsizeFees['20'] || 0,
vsize_40: weightVsizeFees['40'] || 0, vsize_30: weightVsizeFees['30'] || 0,
vsize_50: weightVsizeFees['50'] || 0, vsize_40: weightVsizeFees['40'] || 0,
vsize_60: weightVsizeFees['60'] || 0, vsize_50: weightVsizeFees['50'] || 0,
vsize_70: weightVsizeFees['70'] || 0, vsize_60: weightVsizeFees['60'] || 0,
vsize_80: weightVsizeFees['80'] || 0, vsize_70: weightVsizeFees['70'] || 0,
vsize_90: weightVsizeFees['90'] || 0, vsize_80: weightVsizeFees['80'] || 0,
vsize_100: weightVsizeFees['100'] || 0, vsize_90: weightVsizeFees['90'] || 0,
vsize_125: weightVsizeFees['125'] || 0, vsize_100: weightVsizeFees['100'] || 0,
vsize_150: weightVsizeFees['150'] || 0, vsize_125: weightVsizeFees['125'] || 0,
vsize_175: weightVsizeFees['175'] || 0, vsize_150: weightVsizeFees['150'] || 0,
vsize_200: weightVsizeFees['200'] || 0, vsize_175: weightVsizeFees['175'] || 0,
vsize_250: weightVsizeFees['250'] || 0, vsize_200: weightVsizeFees['200'] || 0,
vsize_300: weightVsizeFees['300'] || 0, vsize_250: weightVsizeFees['250'] || 0,
vsize_350: weightVsizeFees['350'] || 0, vsize_300: weightVsizeFees['300'] || 0,
vsize_400: weightVsizeFees['400'] || 0, vsize_350: weightVsizeFees['350'] || 0,
vsize_500: weightVsizeFees['500'] || 0, vsize_400: weightVsizeFees['400'] || 0,
vsize_600: weightVsizeFees['600'] || 0, vsize_500: weightVsizeFees['500'] || 0,
vsize_700: weightVsizeFees['700'] || 0, vsize_600: weightVsizeFees['600'] || 0,
vsize_800: weightVsizeFees['800'] || 0, vsize_700: weightVsizeFees['700'] || 0,
vsize_900: weightVsizeFees['900'] || 0, vsize_800: weightVsizeFees['800'] || 0,
vsize_1000: weightVsizeFees['1000'] || 0, vsize_900: weightVsizeFees['900'] || 0,
vsize_1200: weightVsizeFees['1200'] || 0, vsize_1000: weightVsizeFees['1000'] || 0,
vsize_1400: weightVsizeFees['1400'] || 0, vsize_1200: weightVsizeFees['1200'] || 0,
vsize_1600: weightVsizeFees['1600'] || 0, vsize_1400: weightVsizeFees['1400'] || 0,
vsize_1800: weightVsizeFees['1800'] || 0, vsize_1600: weightVsizeFees['1600'] || 0,
vsize_2000: weightVsizeFees['2000'] || 0, vsize_1800: weightVsizeFees['1800'] || 0,
}); vsize_2000: weightVsizeFees['2000'] || 0,
});
if (this.newStatisticsEntryCallback && insertId) { if (this.newStatisticsEntryCallback && insertId) {
const newStats = await this.$get(insertId); const newStats = await this.$get(insertId);
if (newStats) { if (newStats) {
this.newStatisticsEntryCallback(newStats); this.newStatisticsEntryCallback(newStats);
}
} }
} catch (e) {
logger.err('Unable to insert statistics. ' + e);
} }
} }