From 14729a193ba6fd2483cc30a0eb3c8adf3f8c02b1 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Sat, 22 Jul 2023 13:55:25 -0400 Subject: [PATCH] watchdog --- src/models/StratumV1Client.ts | 13 ++++--------- src/services/stratum-v1.service.ts | 2 +- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/models/StratumV1Client.ts b/src/models/StratumV1Client.ts index 088dba0..582fd89 100644 --- a/src/models/StratumV1Client.ts +++ b/src/models/StratumV1Client.ts @@ -90,7 +90,7 @@ export class StratumV1Client extends EasyUnsubscribe { parsedMessage = JSON.parse(message); } catch (e) { console.log("Invalid JSON"); - await this.promiseSocket.end(); + this.promiseSocket.socket.emit('end', true); return; } @@ -254,7 +254,6 @@ export class StratumV1Client extends EasyUnsubscribe { if (this.clientSubscription != null - // && this.clientConfiguration != null && this.clientAuthorization != null && this.stratumInitialized == false) { @@ -296,9 +295,9 @@ export class StratumV1Client extends EasyUnsubscribe { const now = Date.now(); const diffSeconds = (now - time.getTime()) / 1000; // five minutes - if (diffSeconds > 60 * 5) { + if (diffSeconds > 5 * 60) { console.log('Watchdog ending session'); - await this.promiseSocket.end(); + this.promiseSocket.socket.emit('end', true); } } @@ -332,12 +331,8 @@ export class StratumV1Client extends EasyUnsubscribe { this.stratumV1JobsService.addJob(job); + await this.promiseSocket.write(job.response(jobTemplate)); - try { - await this.promiseSocket.write(job.response(jobTemplate)); - } catch (e) { - await this.promiseSocket.end(); - } console.log(`Sent new job to ${this.clientAuthorization.worker}.${this.extraNonceAndSessionId}. (clearJobs: ${jobTemplate.blockData.clearJobs}, fee?: ${!noFee})`) diff --git a/src/services/stratum-v1.service.ts b/src/services/stratum-v1.service.ts index 3a52b53..574dce0 100644 --- a/src/services/stratum-v1.service.ts +++ b/src/services/stratum-v1.service.ts @@ -76,7 +76,7 @@ export class StratumV1Service implements OnModuleInit { await this.clientService.delete(client.extraNonceAndSessionId); const clientCount = await this.clientService.connectedClientCount(); - console.error(`Socket error:`, error); + console.log(`Socket error:`, error); console.log(`Client disconnected: ${promiseSocket.socket.remoteAddress}, ${client.extraNonceAndSessionId}, ${clientCount} total clients`); });