mirror of
https://github.com/langgenius/webapp-conversation.git
synced 2026-07-25 21:46:08 -04:00
API访问长时间节点会中断 #47
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @skywolf123 on GitHub (Oct 11, 2024).
我遇到个问题,卡了好几天了,我用webapp-conversation访问dify工作流的API,在chat-messages长时间的节点时会中断,而我用postman去调接口却不会中断
每次中断都会发现一个自动的get请求api/messages?conversation_id=&limit=20&last_id=
这个请求会500,从而导致整体中断
但是我在webapp-conversation的代码里没找到相关的调用
仅仅发现它跟dify工作流的通信是通过dify-client这个sdk组件实现的
@skywolf123 commented on GitHub (Oct 14, 2024):
经过持续不断的尝试,我终于明白问题所在了!
这个问题是由于部署平台的限制,比如 Vercel 和 zeabur,他们的免费计划在部署 next.js 项目时有隐含的超过一定时间不请求就会中断连接(在 zeabur 中这个时间是 30 秒)。
虽然chat-messages接口仍然在响应,但是由于没有新的请求,连接会中断。
在 zeabur 的免费计划中,可以测试性的部署为 docker 项目,这样就可以拥有更长的时间,而在一定程度上规避这个问题。
那么,我目前找到的有效方法是什么呢?
在客户端中(比如 webapp-conversation)加入一个定时请求,随便请求一个 API 的接口。
我的实践是每隔 10 秒请求 meta 接口,因为它足够简单。
具体是: