Try to catch arbitrum error

This commit is contained in:
Marco van Dijk 2022-04-30 13:40:36 +02:00
parent 95ad97c870
commit 57f4f76f8b

View File

@ -1093,6 +1093,8 @@ SMART CONTRACT EVENTS - SYNC BLOCKS
*/ */
hasError = false;
// Syncs events database // Syncs events database
const syncEvents = function (toBlock) { const syncEvents = function (toBlock) {
console.log("Starting sync process for Bonding Manager events to block " + toBlock); console.log("Starting sync process for Bonding Manager events to block " + toBlock);
@ -1148,6 +1150,9 @@ const syncEvents = function (toBlock) {
} }
catch (err) { catch (err) {
console.log("FATAL ERROR: ", err); console.log("FATAL ERROR: ", err);
hasError = true;
isEventSyncing = false;
return;
} }
isEventSyncing = false; isEventSyncing = false;
}); });
@ -1196,6 +1201,9 @@ const syncTickets = function (toBlock) {
} }
catch (err) { catch (err) {
console.log("FATAL ERROR: ", err); console.log("FATAL ERROR: ", err);
hasError = true;
isTicketSyncing = false;
return;
} }
isTicketSyncing = false; isTicketSyncing = false;
}); });
@ -1415,6 +1423,7 @@ const initSync = async function () {
let cycle = 0; let cycle = 0;
// Does the actual looping over last parsed block -> latest block in chain // Does the actual looping over last parsed block -> latest block in chain
const handleSync = async function () { const handleSync = async function () {
try {
if (!CONF_DISABLE_DB && !startedInitSync) { if (!CONF_DISABLE_DB && !startedInitSync) {
console.log("Preloading all the things from the database"); console.log("Preloading all the things from the database");
await initSync(); await initSync();
@ -1432,7 +1441,8 @@ const handleSync = async function () {
console.log("No new blocks. Sleeping for 10 seconds..."); console.log("No new blocks. Sleeping for 10 seconds...");
setTimeout(() => { setTimeout(() => {
handleSync(); handleSync();
}, 10000) }, 10000);
return;
} }
console.log("Needs to sync " + (latestBlockInChain - lastBlockEvents) + " blocks for Events sync"); console.log("Needs to sync " + (latestBlockInChain - lastBlockEvents) + " blocks for Events sync");
console.log("Needs to sync " + (latestBlockInChain - lastBlockTickets) + " blocks for Tickets sync"); console.log("Needs to sync " + (latestBlockInChain - lastBlockTickets) + " blocks for Tickets sync");
@ -1457,6 +1467,9 @@ const handleSync = async function () {
// Then loop until we have reached the last known block // Then loop until we have reached the last known block
while (isEventSyncing || isTicketSyncing || !getFinalTickets || !getFinalEvents) { while (isEventSyncing || isTicketSyncing || !getFinalTickets || !getFinalEvents) {
await sleep(500); await sleep(500);
if (hasError){
throw("Error while syncing");
}
if (isEventSyncing) { if (isEventSyncing) {
console.log("Parsed " + lastBlockEvents + " out of " + latestBlockInChain + " blocks for Event sync"); console.log("Parsed " + lastBlockEvents + " out of " + latestBlockInChain + " blocks for Event sync");
} else if (!getFinalEvents) { } else if (!getFinalEvents) {
@ -1485,7 +1498,19 @@ const handleSync = async function () {
isSyncing = false; isSyncing = false;
setTimeout(() => { setTimeout(() => {
handleSync(); handleSync();
}, 10000) }, 10000);
return;
}
catch (err) {
console.log("Error while syncing. Retrying in 30 seconds");
console.log("latestBlockInChain " + latestBlockInChain);
console.log("lastBlockEvents " + lastBlockEvents);
console.log("lastBlockTickets " + lastBlockTickets);
isSyncing = false;
setTimeout(() => {
handleSync();
}, 30000)
}
}; };
if (!isSyncing && !CONF_SIMPLE_MODE) { if (!isSyncing && !CONF_SIMPLE_MODE) {
console.log("Starting sync process"); console.log("Starting sync process");