Skip to content

fix(ingestion): 补上缺失的 @EnableRetry,让 @Retryable / @Recover 真正生效 - #20

Open
Red-322 wants to merge 1 commit into
DevYangJC:masterfrom
Red-322:fix/enable-spring-retry
Open

Red-322 wants to merge 1 commit into
DevYangJC:masterfrom
Red-322:fix/enable-spring-retry

Conversation

@Red-322

@Red-322 Red-322 commented Sep 16, 2026

Copy link
Copy Markdown

正文

## 问题

`DocumentIngestionAsyncService.ingestDocument()` 上的 `@Retryable` / `@Recover` 未生效:
ETL 失败不重试、`@Recover` 不被调用、文档一直卡在 `PROCESSING`。Fixes #19

## 原因

Spring Retry 的注解驱动需要 `@EnableRetry` 开启;项目依赖齐全,但缺这个开关。
缺少时注解被忽略,因此问题只在"ETL 失败"这条路径上暴露。

## 改动

`ArgusBackendApplication.java` 增加 1 行 import + 1 行注解,无其他改动。

## 验证

上传一个会导致解析失败的文档,日志台前后对比图如下:

<img width="1127" height="484" alt="20260915-重试未生效-日志" src="https://github.com/user-attachments/assets/a81adbd4-0997-4969-902f-9d91b0379569" />

<img width="1156" height="569" alt="20260915-修复后重试-日志1" src="https://github.com/user-attachments/assets/819d1319-9628-48a4-a741-6620fbd984d4" />

修复前 ingestDocument() 只执行 1 次;修复后执行 3 次(间隔 2s、4s),
异常改由 @Recover 处理,文档状态最终为 FAILED(修复前停在 PROCESSING)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant