forked from StellarSplit/StellarSplit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbatch.module.ts
More file actions
48 lines (46 loc) · 1.74 KB
/
Copy pathbatch.module.ts
File metadata and controls
48 lines (46 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { BullModule } from "@nestjs/bull";
import { ConfigModule, ConfigService } from "@nestjs/config";
import { BatchJob } from "./entities/batch-job.entity";
import { BatchOperation } from "./entities/batch-operation.entity";
import { BatchService } from "./batch.service";
import { BatchController } from "./batch.controller";
import { SplitBatchProcessor } from "./processors/split-batch.processor";
import { PaymentBatchProcessor } from "./processors/payment-batch.processor";
import { ScheduledBatchProcessor } from "./processors/scheduled-batch.processor";
import { BatchProgressService } from "./batch-progress.service";
import { BatchEventsService } from "./batch-events.service";
import { PaymentsModule } from "../payments/payments.module";
import { QueueJobPolicy, JobPolicyTier } from "../common/queue-job-policy";
@Module({
imports: [
TypeOrmModule.forFeature([BatchJob, BatchOperation]),
PaymentsModule,
BullModule.registerQueue(
QueueJobPolicy.forQueue('batch_splits', JobPolicyTier.CRITICAL, {
removeOnComplete: false,
removeOnFail: false,
}),
QueueJobPolicy.forQueue('batch_payments', JobPolicyTier.CRITICAL, {
removeOnComplete: false,
removeOnFail: false,
}),
QueueJobPolicy.forQueue('batch_scheduled', JobPolicyTier.STANDARD, {
removeOnComplete: true,
removeOnFail: false,
}),
),
],
controllers: [BatchController],
providers: [
BatchService,
BatchProgressService,
BatchEventsService,
SplitBatchProcessor,
PaymentBatchProcessor,
ScheduledBatchProcessor,
],
exports: [BatchService, BatchProgressService],
})
export class BatchModule {}