mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2025-03-18 05:41:43 +01:00
only keep 10min of job templates (reduce memory consumption)
This commit is contained in:
parent
38681aba64
commit
45d05f48c1
@ -33,7 +33,7 @@ export class StratumV1JobsService {
|
||||
|
||||
public jobs: MiningJob[] = [];
|
||||
|
||||
public blocks: { [id: number]: IJobTemplate } = {};
|
||||
public blocks: { id: string, template: IJobTemplate }[] = [];
|
||||
|
||||
constructor(
|
||||
private readonly bitcoinRpcService: BitcoinRpcService
|
||||
@ -123,10 +123,18 @@ export class StratumV1JobsService {
|
||||
}),
|
||||
tap((data) => {
|
||||
if (data.blockData.clearJobs) {
|
||||
this.blocks = {};
|
||||
this.blocks = [];
|
||||
this.jobs = [];
|
||||
}
|
||||
this.blocks[data.blockData.id] = data;
|
||||
|
||||
if (this.blocks.length >= 10) {
|
||||
this.blocks.shift();
|
||||
}
|
||||
|
||||
this.blocks.push({
|
||||
id: data.blockData.id,
|
||||
template: data
|
||||
});
|
||||
}),
|
||||
shareReplay({ refCount: true, bufferSize: 1 })
|
||||
)
|
||||
@ -150,7 +158,7 @@ export class StratumV1JobsService {
|
||||
}
|
||||
|
||||
public getJobTemplateById(jobTemplateId: string): IJobTemplate {
|
||||
return this.blocks[jobTemplateId];
|
||||
return this.blocks.find(b => b.id === jobTemplateId)?.template;
|
||||
}
|
||||
|
||||
public addJob(job: MiningJob) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user