Skip to content

Commit

Permalink
restrict retry to 3 times only
Browse files Browse the repository at this point in the history
  • Loading branch information
cauta committed May 9, 2024
1 parent a650ec7 commit 84920d1
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 12 deletions.
30 changes: 24 additions & 6 deletions app/apps/worker-service/src/worker/ethereum.worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export class EthereumWorker {
}
}

async ethHandleDetectedBlock(data: { blockNumber: number }) {
async ethHandleDetectedBlock(data: { blockNumber: number; retry: number }) {
const blockNumber = data.blockNumber;
if (!blockNumber) {
this.logger.error(
Expand Down Expand Up @@ -65,13 +65,19 @@ export class EthereumWorker {
`Error scanning block ${blockNumber}:`,
error,
]);
await this.saveBlockHistory(blockNumber, false, true, error);
await this.saveBlockHistory(
blockNumber,
false,
true,
error,
data.retry + 1 || 1,
);
}

return;
}

async ethHandleConfirmedBlock(data: { blockNumber: number }) {
async ethHandleConfirmedBlock(data: { blockNumber: number; retry: number }) {
const blockNumber = data.blockNumber;
if (!blockNumber) {
this.logger.error(
Expand Down Expand Up @@ -103,7 +109,13 @@ export class EthereumWorker {
`Error scanning block ${blockNumber}:`,
error,
]);
await this.saveBlockHistory(blockNumber, true, true, error);
await this.saveBlockHistory(
blockNumber,
true,
true,
error,
data.retry + 1 || 1,
);
}
return;
}
Expand Down Expand Up @@ -150,14 +162,18 @@ export class EthereumWorker {
confirm: boolean,
isError?: boolean,
error?: any,
retry?: number,
): Promise<void> {
if (isError) {
this.logger.warn(`emit error block ${blockNumber} to kafka`);
if (isError && retry < 3) {
this.logger.warn(
`emit error block ${blockNumber} to kafka with retry ${retry}`,
);
if (confirm) {
this.workerClient.emit(TopicName.ETH_CONFIRMED_BLOCK, {
key: 'error',
value: {
blockNumber: blockNumber,
retry: retry,
error: error,
},
});
Expand All @@ -166,6 +182,7 @@ export class EthereumWorker {
key: 'error',
value: {
blockNumber: blockNumber,
retry: retry,
error: error,
},
});
Expand All @@ -178,6 +195,7 @@ export class EthereumWorker {
confirmed: confirm,
isError: isError || false,
errorDetail: error !== undefined ? JSON.stringify(error) : '',
retry: retry || 0,
dateCreated: new Date(),
});
}
Expand Down
30 changes: 24 additions & 6 deletions app/apps/worker-service/src/worker/polygon.worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export class PolygonWorker {
}
}

async ethHandleDetectedBlock(data: { blockNumber: number }) {
async ethHandleDetectedBlock(data: { blockNumber: number; retry: number }) {
const blockNumber = data.blockNumber;
if (!blockNumber) {
this.logger.error(
Expand Down Expand Up @@ -64,13 +64,19 @@ export class PolygonWorker {
`Error scanning block ${blockNumber}:`,
error,
]);
await this.saveBlockHistory(blockNumber, false, true, error);
await this.saveBlockHistory(
blockNumber,
false,
true,
error,
data.retry + 1 || 1,
);
}

return;
}

async ethHandleConfirmedBlock(data: { blockNumber: number }) {
async ethHandleConfirmedBlock(data: { blockNumber: number; retry: number }) {
const blockNumber = data.blockNumber;
if (!blockNumber) {
this.logger.error(
Expand Down Expand Up @@ -102,7 +108,13 @@ export class PolygonWorker {
`Error scanning block ${blockNumber}:`,
error,
]);
await this.saveBlockHistory(blockNumber, true, true, error);
await this.saveBlockHistory(
blockNumber,
true,
true,
error,
data.retry + 1 || 1,
);
}
return;
}
Expand Down Expand Up @@ -149,14 +161,18 @@ export class PolygonWorker {
confirm: boolean,
isError?: boolean,
error?: any,
retry?: number,
): Promise<void> {
if (isError) {
this.logger.warn(`emit error block ${blockNumber} to kafka`);
if (isError && retry < 3) {
this.logger.warn(
`emit error block ${blockNumber} to kafka with retry ${retry}`,
);
if (confirm) {
this.workerClient.emit(TopicName.POLYGON_CONFIRMED_BLOCK, {
key: 'error',
value: {
blockNumber: blockNumber,
retry: retry,
error: error,
},
});
Expand All @@ -165,6 +181,7 @@ export class PolygonWorker {
key: 'error',
value: {
blockNumber: blockNumber,
retry: retry,
error: error,
},
});
Expand All @@ -177,6 +194,7 @@ export class PolygonWorker {
confirmed: confirm,
isError: isError || false,
errorDetail: error !== undefined ? JSON.stringify(error) : '',
retry: retry || 0,
dateCreated: new Date(),
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ export class BlockHistory {
@Prop()
errorDetail: string;

@Prop()
retry: number;

@Prop({ default: Date.now() })
dateCreated: Date;
}
Expand Down

0 comments on commit 84920d1

Please sign in to comment.