Refactor payment job handling to simplify retry logic and update job parameters
This commit is contained in:
parent
717046120c
commit
b2273181b9
@ -5,9 +5,8 @@ import { CreatePaymentDto } from '../payments/dto/create-payment.dto';
|
||||
import { PAYMENT_QUEUE } from './constants/queue.constants';
|
||||
|
||||
export interface PaymentJobData {
|
||||
paymentId: string;
|
||||
paymentData: CreatePaymentDto;
|
||||
retryCount?: number;
|
||||
createdAt: Date;
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
@ -16,29 +15,13 @@ export class QueueService {
|
||||
|
||||
async addPaymentJob(data: PaymentJobData): Promise<void> {
|
||||
await this.paymentQueue.add(PAYMENT_QUEUE, data, {
|
||||
attempts: 3,
|
||||
attempts: 2,
|
||||
backoff: {
|
||||
type: 'exponential',
|
||||
delay: 2000,
|
||||
},
|
||||
removeOnComplete: 10,
|
||||
removeOnFail: 5,
|
||||
});
|
||||
}
|
||||
|
||||
async addRetryPaymentJob(
|
||||
data: PaymentJobData,
|
||||
delay: number = 5000,
|
||||
): Promise<void> {
|
||||
await this.paymentQueue.add('process-payment', data, {
|
||||
delay,
|
||||
attempts: 2,
|
||||
backoff: {
|
||||
type: 'exponential',
|
||||
delay: 3000,
|
||||
},
|
||||
removeOnComplete: 10,
|
||||
removeOnFail: 5,
|
||||
removeOnComplete: 3,
|
||||
removeOnFail: 2,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user