![[FEATURE] Health Check endpoint for workers](https://www.chat-gpts.plus/wp-content/uploads/2026/06/6177-137b8ad7.jpg)
[FEATURE] Health Check endpoint for workers
快速结论:Flowise Worker 缺少类似 Flowise Main 的 /api/v1/ping 健康检查端点,在 Kubernetes 环境无法通过 localhost:3000 检测 Worker 状态。但 Worker 在默认端口 5566 上提供了 /healthz 端点可用于健康检查。
问题场景
在 Kubernetes 中使用 Queue 模式运行 Flowise 时,用户需要为 Flowise Worker Pod 配置健康检查(Readiness / Liveness Probes)。使用 `curl` 请求 Worker Pod 的 http://localhost:3000/api/v1/ping 时返回 Connection refused(端口 3000 无法连接),而 Flowise Main 在同一端口返回 200 OK / pong。
报错原文
$ kubectl exec -n flowise \
$(kubectl get pod -n flowise -l app.kubernetes.io/name=flowise-worker -o jsonpath='{.items[0].metadata.name}') \
-- curl -sv http://localhost:3000/api/v1/ping
* Trying [::1]:3000...
* connect to ::1 port 3000 from ::1 port 46606 failed: Connection refused
* Trying 127.0.0.1:3000...
* connect to 127.0.0.1 port 3000 from 127.0.0.1 port 46108 failed: Connection refused
* Failed to connect to localhost port 3000 after 0 ms: Could not connect to server
* closing connection #0
command terminated with exit code 7
原因分析
根据 Issue 讨论,可能原因是:Flowise Worker 默认监听端口不是 3000,而是 5566;且 Worker 没有提供 /api/v1/ping 端点。但 Worker 本身内置了另一个健康检查端点 /healthz,该端点在 5566 端口上可以正常返回 200。
环境排查
- 确认你使用的是 Flowise Queue 模式(Worker 单独部署)
- 确认 Worker 服务监听的端口:默认是
5566(而非 Main 的3000) - 确认 Kubernetes 中 Worker Pod 的
livenessProbe/readinessProbe配置
解决步骤
- 使用 Worker 的健康检查端点替换
/api/v1/ping:
# 在 Worker Pod 内部测试
curl -sv http://localhost:5566/healthz
- 预期返回
200 OK状态码。若返回非 200 或无响应,则 Worker 未就绪。 - 在 Kubernetes Deployment / StatefulSet 中配置 Worker 的健康探针:
livenessProbe:
httpGet:
path: /healthz
port: 5566
readinessProbe:
httpGet:
path: /healthz
port: 5566
- (可优先尝试)如果自定义了 Worker 端口,请将
5566替换为实际端口。
验证方法
执行 curl http://<worker-pod-ip>:5566/healthz 返回 200/OK,且 Kubernetes 中 Pod 状态显示 Ready(未配置探针时默认也是 Ready,配置探针后需观察探针状态)。若仍无法连通,检查 Worker 是否已启动且端口正确暴露。



