Kaynağa Gözat

Feat/api tool custom timeout (#3420)

Yeuoly 1 yıl önce
ebeveyn
işleme
ae1f3780f8
2 değiştirilmiş dosya ile 9 ekleme ve 1 silme
  1. 4 0
      api/.env.example
  2. 5 1
      api/core/tools/tool/api_tool.py

+ 4 - 0
api/.env.example

@@ -149,3 +149,7 @@ TEMPLATE_TRANSFORM_MAX_LENGTH=80000
 CODE_MAX_STRING_ARRAY_LENGTH=30
 CODE_MAX_OBJECT_ARRAY_LENGTH=30
 CODE_MAX_NUMBER_ARRAY_LENGTH=1000
+
+# API Tool configuration
+API_TOOL_DEFAULT_CONNECT_TIMEOUT=10
+API_TOOL_DEFAULT_READ_TIMEOUT=60

+ 5 - 1
api/core/tools/tool/api_tool.py

@@ -1,5 +1,6 @@
 import json
 from json import dumps
+from os import getenv
 from typing import Any, Union
 from urllib.parse import urlencode
 
@@ -13,7 +14,10 @@ from core.tools.entities.user_entities import UserToolProvider
 from core.tools.errors import ToolInvokeError, ToolParameterValidationError, ToolProviderCredentialValidationError
 from core.tools.tool.tool import Tool
 
-API_TOOL_DEFAULT_TIMEOUT = (10, 60)
+API_TOOL_DEFAULT_TIMEOUT = (
+    int(getenv('API_TOOL_DEFAULT_CONNECT_TIMEOUT', '10')),
+    int(getenv('API_TOOL_DEFAULT_READ_TIMEOUT', '60'))
+)
 
 class ApiTool(Tool):
     api_bundle: ApiBasedToolBundle