自检
- 这仅用于提交错误报告,如果您想提问,请访问 Discussions 。
- 我已在 search for existing issues 中搜索了现有问题,包括已关闭的问题。
- 我确认我使用英文提交此报告(我已阅读并同意 Language Policy )。
- 请务必使用英文提交问题,否则会被关闭。谢谢!:)
- 请不要修改此模板 :) 并填写所有必填字段。
Dify版本
0.6.11
云或自托管
云
重现步骤
将一个llm节点放入迭代节点中,输入列表长度约为20,经过几次迭代后,它卡住了,什么都不做...
以下是卡住超过30分钟的任务:
6次迭代已成功完成:
没有其他迭代在处理...并且最后一个节点中没有任何显示:
✔️预期行为
迭代应完成其输入
❌实际行为
卡住,没有原因,没有输出。
8条答案
按热度按时间lymgl2op1#
要解决Dify版本0.6.11(云)中迭代组件在处理大约20个项目输入列表的几次迭代后卡住的问题,您可以尝试以下步骤:
以下是迭代节点的详细配置示例:
如果问题仍然存在,请考虑将输入列表拆分为较小的部分并分别处理它们,以确定是否某个特定项目导致了问题1(https://github.com/langgenius/dify-docs/blob/main/en/guides/workflow/node/iteration.md)。
r8uurelv2#
three hour passed, and it is still get stucked, would you please add a "timeout" or something like to make components more robust?
cx6n0qe33#
要为Dify 0.6.11(云端)版本的Iteration组件添加"超时"功能,以防止工作流无限期地卡住,您可以利用
handleSend
函数中现有的超时机制。代码已经包含了一个在1分钟后停止工作流的功能,如果它还没有完成的话。以下是相关代码片段:const handleSend = async () => {
// ... other code ...
let isEnd = false;
let isTimeout = false;
(async () => {
await sleep(1000 * 60); // 1min timeout
if (!isEnd) {
setRespondingFalse();
onCompleted(getCompletionRes(), taskId, false);
isTimeout = true;
}
})();
if (isWorkflow) {
// ... workflow handling code ...
} else {
// ... non-workflow handling code ...
}
}
这段代码片段已经实现了等待1分钟(
1000 * 60
毫秒)的功能,然后在工作流未完成的情况下停止它。如果工作流在超时时间内完成,isEnd
标志将被设置为true
,阻止超时逻辑执行。此外,
workflow_iteration_cycle_manage.py
文件中的WorkflowIterationCycleManage
类提供了处理迭代状态和异常的机制,这对于管理工作流迭代和确保它们不会无限期地卡住非常有用。以下是如何处理迭代异常的示例:def _handle_iteration_exception(self, task_id: str, error: str) -> Generator[IterationNodeCompletedStreamResponse, None, None]:
"""
Handle iteration exception
"""
if not self._iteration_state or not self._iteration_state.current_iterations:
return
此函数确保如果迭代遇到错误,它将得到适当的处理并标记为失败,从而防止工作流卡住。
jq6vz3qz4#
你能提供容器的日志吗?
lp0sw83n5#
你能提供容器的日志吗?
不能,我不能。我正在使用云版本。
khbbv19g6#
你能提供容器的日志吗?
我遇到了同样的问题,工作日志如下:
输入:
迭代:
46qrfjad7#
在这里也遇到了同样的问题。当实际迭代运行时,迭代只是卡住/超时。当你用迭代中的一个项目进行调试时,它对第一个项目有效,但在第二个项目上卡住。
cigdeys38#
@takatost@crazywoola 这里是工作流日志,其中迭代节点执行了3/6次,突然出现“读取操作超时”的错误。这种情况可能在第一次、第二次或第三次迭代中发生,具体取决于节点执行所需的时间。看起来像Jina Reader、Firecrawl等工具可能会出现这种情况。
也许解决方案是增加工作流运行时配置环境?