社区版Dify sandbox【Python代码执行】Run failed: error: timeout,if the sandbox service

一、Dify sandox 代码执行时长限制

这个问题很简单,一开始我不知道是 什么原因,我写了一个API请求,时长 太长了,这里就开始报错:
在这里插入图片描述
神奇的是每次报错都是在执行的第15S 左右
于是,我写了一个time.sleep 的代码:
在 Dify 代码执行模块上运行,就是延时了20S:


import time

def main(arg1: str, arg2: str) -> dict:
    time.sleep(20)
    return {
    
    
        "result": arg1 + arg2,
    }

果然:
在这里插入图片描述

二、解决方法

找Dify 的docker-compose.yaml 和.env,果然发现了问题:
在这里插入图片描述
在.env:
在这里插入图片描述
既然找到问题,就很好解决了:
修改.env 中的 为其他数值,重启 :

vi .env
SANDBOX_WORKER_TIMEOUT=100
:wq

重启:

sudo docker-compose down
sudo docker-compose up -d

即可解决。

如果你的代码执行期间超过60秒,还可能会报错:

请看你的错误是不是在60S左右报错的!!!

Run failed: Failed to execute code which is likely a network issue, please check if the sandbox service

在这里插入图片描述
这是因为.env 文件里面还有一个地方规定了代码执行的最大时长:
打开.env

CODE_EXCECUTION_READ_TIMEOUT=60

把这个数值改大然后重启就行:
在这里插入图片描述

三、Dify 安装和专栏的以往文章推荐

  1. Dify安装时会遇到的网络问题,已成功安装Dify教程
  2. Dify 部署LLM 可以参考这里,Dify实现Ollama3.2-vision多模态聊天
  3. 并且欢迎关注我的 社区版 Dify 开发专栏