mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2025-03-29 19:22:43 +01:00
defer entity creation
This commit is contained in:
parent
d4ec2ab3b4
commit
32c5545de8
@ -26,6 +26,9 @@ export class ClientStatisticsEntity extends TrackedEntity {
|
||||
@Column({ type: 'real' })
|
||||
shares: number;
|
||||
|
||||
@Column({ default: 0, type: 'integer' })
|
||||
acceptedCount: number;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -21,7 +21,8 @@ export class ClientStatisticsService {
|
||||
const res1 = await this.clientStatisticsRepository.createQueryBuilder()
|
||||
.update(ClientStatisticsEntity)
|
||||
.set({
|
||||
shares: () => `"shares" + ${clientStatistic.shares}` // Use the actual value of shares here
|
||||
shares: () => `"shares" + ${clientStatistic.shares}`, // Use the actual value of shares here
|
||||
acceptedCount: () => `"acceptedCount" + 1`
|
||||
})
|
||||
.where('address = :address AND clientName = :clientName AND sessionId = :sessionId AND time = :time', { address: clientStatistic.address, clientName: clientStatistic.clientName, sessionId: clientStatistic.sessionId, time: clientStatistic.time })
|
||||
.execute();
|
||||
|
@ -340,15 +340,6 @@ export class StratumV1Client {
|
||||
}
|
||||
|
||||
|
||||
this.entity = await this.clientService.insert({
|
||||
sessionId: this.extraNonceAndSessionId,
|
||||
address: this.clientAuthorization.address,
|
||||
clientName: this.clientAuthorization.worker,
|
||||
userAgent: this.clientSubscription.userAgent,
|
||||
startTime: new Date(),
|
||||
bestDifficulty: 0
|
||||
});
|
||||
|
||||
this.stratumSubscription = this.stratumV1JobsService.newMiningJob$.pipe(
|
||||
).subscribe(async (jobTemplate) => {
|
||||
try {
|
||||
@ -410,6 +401,18 @@ export class StratumV1Client {
|
||||
|
||||
private async handleMiningSubmission(submission: MiningSubmitMessage) {
|
||||
|
||||
if (this.entity == null) {
|
||||
this.entity = await this.clientService.insert({
|
||||
sessionId: this.extraNonceAndSessionId,
|
||||
address: this.clientAuthorization.address,
|
||||
clientName: this.clientAuthorization.worker,
|
||||
userAgent: this.clientSubscription.userAgent,
|
||||
startTime: new Date(),
|
||||
bestDifficulty: 0
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const job = this.stratumV1JobsService.getJobById(submission.jobId);
|
||||
|
||||
// a miner may submit a job that doesn't exist anymore if it was removed by a new block notification
|
||||
|
Loading…
x
Reference in New Issue
Block a user