improve: significantly speed up the server launching time by async preloading tool providers (#9146)
Some checks are pending
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Waiting to run
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Blocked by required conditions
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Blocked by required conditions

This commit is contained in:
Bowen Liang 2024-10-31 00:21:01 +08:00 committed by GitHub
parent f6fecb957e
commit 0bdae34b5e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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()