dont process all previous requests on boot
This commit is contained in:
parent
fa4628a153
commit
84fd528619
@ -26,9 +26,12 @@ class PaymentProcessor {
|
|||||||
private regHelper: RegHelper;
|
private regHelper: RegHelper;
|
||||||
private processedHashes: Set<string> = new Set();
|
private processedHashes: Set<string> = new Set();
|
||||||
private checkInterval: number = 30000; // 30 seconds
|
private checkInterval: number = 30000; // 30 seconds
|
||||||
|
private lastProcessedTime: Date = new Date();
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.regHelper = new RegHelper();
|
this.regHelper = new RegHelper();
|
||||||
|
// Only process requests from the last 10 minutes on startup
|
||||||
|
this.lastProcessedTime = new Date(Date.now() - 10 * 60 * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -55,20 +58,30 @@ class PaymentProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process new ApplicationDeploymentRequest records
|
* Process new ApplicationDeploymentRequest records (only recent ones)
|
||||||
*/
|
*/
|
||||||
private async processNewRequests(): Promise<void> {
|
private async processNewRequests(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
// Query for all ApplicationDeploymentRequest records
|
// Query for all ApplicationDeploymentRequest records
|
||||||
const requests = await this.regHelper.queryRecords({
|
const allRequests = await this.regHelper.queryRecords({
|
||||||
type: 'ApplicationDeploymentRequest',
|
type: 'ApplicationDeploymentRequest',
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(`Found ${requests.length} deployment requests`);
|
// Filter to only process recent requests (created after lastProcessedTime)
|
||||||
|
const recentRequests = allRequests.filter(request => {
|
||||||
|
const createTime = new Date(request.createTime);
|
||||||
|
return createTime > this.lastProcessedTime;
|
||||||
|
});
|
||||||
|
|
||||||
for (const request of requests) {
|
console.log(`Found ${allRequests.length} total deployment requests, processing ${recentRequests.length} recent ones`);
|
||||||
|
|
||||||
|
for (const request of recentRequests) {
|
||||||
await this.processRequest(request);
|
await this.processRequest(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update lastProcessedTime to now
|
||||||
|
this.lastProcessedTime = new Date();
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error querying deployment requests:', error);
|
console.error('Error querying deployment requests:', error);
|
||||||
}
|
}
|
||||||
@ -91,6 +104,18 @@ class PaymentProcessor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Skip if request already has a deployment (already successfully processed)
|
||||||
|
const existingDeployments = await this.regHelper.queryRecords({
|
||||||
|
type: 'ApplicationDeploymentRecord',
|
||||||
|
request: requestId
|
||||||
|
});
|
||||||
|
|
||||||
|
if (existingDeployments.length > 0) {
|
||||||
|
console.log(`Skipping request ${requestId} - already has deployment`);
|
||||||
|
this.processedHashes.add(paymentHash);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
console.log(`Processing request ${requestId} with payment hash ${paymentHash}`);
|
console.log(`Processing request ${requestId} with payment hash ${paymentHash}`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user