fix: 修复 MinerU 异步任务提交探测

- 使用健康接口预检服务可用性并缓存短期故障

- 限制任务提交总时长并快速处理服务端错误

- 补齐 Starter 配置传递与核心回归测试
This commit is contained in:
2026-08-03 11:32:25 +08:00
parent f0a5aacc92
commit 15adcfff42
7 changed files with 373 additions and 3 deletions

View File

@@ -19,6 +19,7 @@ public class CommonMineruDocumentProperties {
private Integer connectTimeoutMs = 3000;
private Integer readTimeoutMs = 600000;
private Integer writeTimeoutMs = 600000;
private Integer submitTimeoutMs = 120000;
private Integer pollIntervalMs = 1000;
private Integer resultTimeoutMs = 1800000;
private String defaultBackend = "vlm-http-client";
@@ -59,6 +60,24 @@ public class CommonMineruDocumentProperties {
this.writeTimeoutMs = writeTimeoutMs;
}
/**
* 获取异步任务提交总超时时间。
*
* @return 提交总超时时间,单位毫秒
*/
public Integer getSubmitTimeoutMs() {
return submitTimeoutMs;
}
/**
* 设置异步任务提交总超时时间。
*
* @param submitTimeoutMs 提交总超时时间,单位毫秒
*/
public void setSubmitTimeoutMs(Integer submitTimeoutMs) {
this.submitTimeoutMs = submitTimeoutMs;
}
public Integer getPollIntervalMs() {
return pollIntervalMs;
}

View File

@@ -105,6 +105,7 @@ public class MineruPdfAutoConfiguration {
mineruProperties.setConnectTimeoutMs(useCommon ? commonProperties.getConnectTimeoutMs() : null);
mineruProperties.setReadTimeoutMs(useCommon ? commonProperties.getReadTimeoutMs() : null);
mineruProperties.setWriteTimeoutMs(useCommon ? commonProperties.getWriteTimeoutMs() : null);
mineruProperties.setSubmitTimeoutMs(useCommon ? commonProperties.getSubmitTimeoutMs() : null);
mineruProperties.setPollIntervalMs(useCommon ? commonProperties.getPollIntervalMs() : null);
mineruProperties.setResultTimeoutMs(useCommon ? commonProperties.getResultTimeoutMs() : null);
mineruProperties.setDefaultBackend(useCommon ? commonProperties.getDefaultBackend() : null);

View File

@@ -53,6 +53,7 @@ public class MineruPptxAutoConfiguration {
mineruProperties.setConnectTimeoutMs(properties.getConnectTimeoutMs());
mineruProperties.setReadTimeoutMs(properties.getReadTimeoutMs());
mineruProperties.setWriteTimeoutMs(properties.getWriteTimeoutMs());
mineruProperties.setSubmitTimeoutMs(properties.getSubmitTimeoutMs());
mineruProperties.setPollIntervalMs(properties.getPollIntervalMs());
mineruProperties.setResultTimeoutMs(properties.getResultTimeoutMs());
mineruProperties.setDefaultBackend(properties.getDefaultBackend());

View File

@@ -53,6 +53,7 @@ public class MineruXlsxAutoConfiguration {
mineruProperties.setConnectTimeoutMs(properties.getConnectTimeoutMs());
mineruProperties.setReadTimeoutMs(properties.getReadTimeoutMs());
mineruProperties.setWriteTimeoutMs(properties.getWriteTimeoutMs());
mineruProperties.setSubmitTimeoutMs(properties.getSubmitTimeoutMs());
mineruProperties.setPollIntervalMs(properties.getPollIntervalMs());
mineruProperties.setResultTimeoutMs(properties.getResultTimeoutMs());
mineruProperties.setDefaultBackend(properties.getDefaultBackend());