快速结论:在 RAGFlow 添加 S3 数据源后,任务一直停在调度状态、长时间不上传也不解析,通常是 task executor 没有真正领取调度任务,可优先排查 Redis 连接、executor 健康状态和资源占用。日志里只有心跳、pending/lag/done/failed 全为 0,说明 executor 在线但没有任务流入。
适用环境:Issue 报告使用 RAGFlow,部署方式为 Docker(日志中出现容器内 IP 与 task_executor 进程),且已配置 SANDBOX_EXECUTOR_MANAGER_IMAGE=infiniflow/sandbox-executor-manager:latest 但处于禁用状态。操作系统、Python、CUDA、显卡等版本未在 Issue 中明确,不作补写。
最快修复方案:暂无确认的一步修复方案。Issue 的讨论建议:先确认 executor 持续正常上报心跳并能轮询/领取任务,排查后端日志中的 Redis 或 executor 启动错误;若怀疑旧版本调度 Bug,可优先尝试升级到最新 nightly Docker 镜像(对应 PR #6340 相关修复)。
注意事项:禁用 SANDBOX_EXECUTOR_MANAGER_IMAGE 只影响沙箱代码执行,默认情况下 S3 同步在沙箱外运行,通常不会因此阻断 S3 同步任务;但若业务依赖沙箱能力则需另行确认。升级 nightly 镜像属于“可优先尝试”,并非 Issue 中针对本环境的最终确认结论,升级前请备份并留意版本兼容性。
问题场景
用户在 RAGFlow 中添加 S3 数据源后,日志显示任务一直处于 schedule(调度)状态,等待半小时后上传与解析流程仍未启动。executor 侧只有 task_executor_1c2ac955e24d_0 在持续上报心跳,未检测到其他 executor 任务;心跳内容显示 pending: 0、lag: 0、done: 0、failed: 0、current: {}。用户同时说明 SANDBOX_EXECUTOR_MANAGER_IMAGE=infiniflow/sandbox-executor-manager:latest 对其处于禁用状态。
报错原文
[Question]: After adding the S3 data source, the logs show that it's always on the schedule, even after waiting for half an hour
2025-12-01 09:12:12,497 WARNING 32 Database connection issue (attempt 1/5): (0, '')
2025-12-01 09:12:12,499 WARNING 32 Database connection issue (attempt 1/5): (0, '')
2025-12-01 09:12:28,208 INFO 56 task_executor_1c2ac955e24d_0 reported heartbeat: {"ip_address": "172.18.0.6", "pid": 56, "name": "task_executor_1c2ac955e24d_0", "now": "2025-12-01T09:12:28.208+08:00", "boot_at": "2025-11-26T19:13:11.997+08:00", "pending": 0, "lag": 0, "done": 0, "failed": 0, "current": {}}
2025-12-01 09:12:58,210 INFO 56 task_executor_1c2ac955e24d_0 reported heartbeat: {"ip_address": "172.18.0.6", "pid": 56, "name": "task_executor_1c2ac955e24d_0", "now": "2025-12-01T09:12:58.210+08:00", "boot_at": "2025-11-26T19:13:11.997+08:00", "pending": 0, "lag": 0, "done": 0, "failed": 0, "current": {}}
2025-12-01 09:13:28,212 INFO 56 task_executor_1c2ac955e24d_0 reported heartbeat: {"ip_address": "172.18.0.6", "pid": 56, "name": "task_executor_1c2ac955e24d_0", "now": "2025-12-01T09:13:28.212+08:00", "boot_at": "2025-11-26T19:13:11.997+08:00", "pending": 0, "lag": 0, "done": 0, "failed": 0, "current": {}}
原因分析
根据讨论,该现象通常意味着 executor 没有领取到调度任务,可能原因包括:Redis 连接异常、executor 配置错误,或资源耗尽导致无法轮询/认领任务。日志中的 Database connection issue (attempt 1/5): (0, '') 属于数据库连接告警,可能与 Redis/数据库层连接问题相关,但不是唯一确定结论。仅持续心跳、没有任务活动,说明 executor 在运行但可能无法轮询或抢占任务,也存在旧版本调度 Bug 的可能(讨论提到 PR #6340 修复过类似卡住任务的问题)。禁用沙箱执行器镜像本身通常不阻断 S3 同步,因为 S3 同步默认在沙箱外执行。
环境排查
- 确认 RAGFlow 版本与部署镜像版本,怀疑旧版 Bug 时可对比最新 nightly 镜像。
- 检查 Redis 连接是否正常,以及后端日志中是否存在 Redis 或 executor 启动相关错误。
- 检查数据库连接告警是否持续出现,排除数据库/Redis 层的连接问题。
- 确认 executor 服务持续存活并按间隔上报 heartbeat,而不是只有启动时一次。
- 检查 executor 与沙箱相关资源占用,关注是否出现 “Container pool is busy” 或 “no_available_container” 类错误。
- 确认
SANDBOX_EXECUTOR_MANAGER_IMAGE禁用是否符合预期;如需沙箱执行能力,应评估其影响。
解决步骤
- 查看后端日志,筛选 Redis 连接错误、executor 启动错误及数据库连接告警,先定位执行链路在哪一层中断。
- 确认 executor heartbeat 是否持续按间隔输出;若只有单次心跳,说明 executor 可能未正常轮询任务。
- 检查 Redis/数据库服务连通性,排除连接异常造成的任务无法调度。
- 检查 executor/sandbox 资源使用情况,若存在容器池繁忙或资源耗尽错误,先释放资源或调整配置。
- 若上述排查无明确异常,可优先尝试升级到最新 nightly Docker 镜像(讨论称 PR #6340 修复了类似卡住调度任务的问题),升级后重新添加或重新调度 S3 数据源。
- 升级后仍卡住时,收集完整后端日志(尤其是错误行和 heartbeat 行)再进一步定位。
验证方法
重新触发 S3 数据源同步后观察后端日志:heartbeat 应持续出现,并且 executor 出现非零 pending 或 current 任务活动,进而出现上传/解析流程相关日志;数据源任务不再长期停留在 schedule 状态即表示问题缓解。若仍只有心跳且 pending 为 0,说明问题未解决,需回到环境排查继续定位。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Question]: Variable settings in input does not work in agent](https://www.chat-gpts.plus/wp-content/uploads/2026/10/12458-7a832cbd-768x403.jpg)
![[Question]: Fail to load the LLM via vllm](https://www.chat-gpts.plus/wp-content/uploads/2026/10/9856-3287f960-768x403.jpg)
