diff --git a/backend/services/contribution-service/src/infrastructure/kafka/cdc-consumer.service.ts b/backend/services/contribution-service/src/infrastructure/kafka/cdc-consumer.service.ts index a8846630..39291b6e 100644 --- a/backend/services/contribution-service/src/infrastructure/kafka/cdc-consumer.service.ts +++ b/backend/services/contribution-service/src/infrastructure/kafka/cdc-consumer.service.ts @@ -297,12 +297,10 @@ export class CDCConsumerService implements OnModuleInit, OnModuleDestroy { this.sequentialMode = true; this.isRunning = true; - // 开始顺序消费(后台运行,不阻塞服务启动) - this.startSequentialConsumption().catch((error) => { - this.logger.error('Sequential consumption failed', error); - }); + // 开始顺序消费(阻塞直到完成,确保数据依赖顺序正确) + await this.startSequentialConsumption(); - this.logger.log('CDC consumer started with sequential phase consumption (running in background)'); + this.logger.log('CDC consumer started with sequential phase consumption'); } catch (error) { this.logger.error('Failed to start CDC consumer', error); // 不抛出错误,允许服务在没有 Kafka 的情况下启动(用于本地开发)