From 0bdae34b5e1ffa702a9b590e9a4feb6aa545df7f Mon Sep 17 00:00:00 2001 From: Bowen Liang Date: Thu, 31 Oct 2024 00:21:01 +0800 Subject: [PATCH] improve: significantly speed up the server launching time by async preloading tool providers (#9146) --- api/core/tools/tool_manager.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/api/core/tools/tool_manager.py b/api/core/tools/tool_manager.py index 63f7775164..6abe0a9cba 100644 --- a/api/core/tools/tool_manager.py +++ b/api/core/tools/tool_manager.py @@ -3,7 +3,7 @@ import logging import mimetypes from collections.abc import Generator from os import listdir, path -from threading import Lock +from threading import Lock, Thread from typing import Any, Optional, Union from configs import dify_config @@ -647,4 +647,5 @@ class ToolManager: raise ValueError(f"provider type {provider_type} not found") -ToolManager.load_builtin_providers_cache() +# preload builtin tool providers +Thread(target=ToolManager.load_builtin_providers_cache, name="pre_load_builtin_providers_cache", daemon=True).start()