服务:dolphinscheduler
版本:v3.16
问题描述:资源中心-文件管理中使用文件上传是出现中断或上传失败
排除思路:
- 测试小文件或其他类型文件时是否正常;
- F12查看接口调用成功以及失败时的对比,发现接口调用超过15s时自动中断上传,以为是nginx导致;
- 新增配置nginx配置:client_max_body_size、client_header_timeout、client_body_timeout等,后测试无效。
- 查看官网已经Github issue是否有相同或类似问题,最终在github dolphinscheduler issue中找到此问题原因 。
问题原因:
- 原因在前端用axios 提交时设置了超时时间为15s,导致在上传过程中前端超时提前中断了, 见下面在ui service.ts的代码片段部分,修改加大timeout时间后上传大文件通过
const baseRequestConfig: AxiosRequestConfig = { baseURL: import.meta.env.MODE === ‘development’ ? ‘/dolphinscheduler’ : import.meta.env.VITE_APP_PROD_WEB_URL + ‘/dolphinscheduler’, timeout: 15000,
解决方案:
/api-server/ui/assets/service.766f4632.js
/api-server/ui/assets/service.766f4632.js.gz
/ui/assets/service.766f4632.js
/ui/assets/service.766f4632.js.gz
需要修改以上4 个文件,并找到以下配置 baseURL:“/dolphinscheduler”,timeout:15e3,然后将 15e3 修改为 15e5 或更大。
参考链接:
- https://dolphinscheduler.apache.org/zh-cn/support
- https://github.com/apache/dolphinscheduler/issues/10340