From 5914381e846d9aab75200aaed1e0c3e3e675b740 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 7 Dec 2023 09:59:29 -0300 Subject: [PATCH] Fix plugin loading issue --- src/backend/langflow/services/plugins/factory.py | 4 ++-- src/backend/langflow/services/plugins/service.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/backend/langflow/services/plugins/factory.py b/src/backend/langflow/services/plugins/factory.py index 2205786ed..221d43500 100644 --- a/src/backend/langflow/services/plugins/factory.py +++ b/src/backend/langflow/services/plugins/factory.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING -from langflow.services.plugins.service import PluginService + from langflow.services.factory import ServiceFactory +from langflow.services.plugins.service import PluginService if TYPE_CHECKING: from langflow.services.settings.service import SettingsService @@ -12,5 +13,4 @@ class PluginServiceFactory(ServiceFactory): def create(self, settings_service: "SettingsService"): service = PluginService(settings_service) - service.load_plugins() return service diff --git a/src/backend/langflow/services/plugins/service.py b/src/backend/langflow/services/plugins/service.py index 42e8fc221..8c9ea76d0 100644 --- a/src/backend/langflow/services/plugins/service.py +++ b/src/backend/langflow/services/plugins/service.py @@ -5,6 +5,7 @@ from typing import TYPE_CHECKING, Union from langflow.services.base import Service from langflow.services.plugins.base import BasePlugin, CallbackPlugin +from loguru import logger if TYPE_CHECKING: from langflow.services.settings.service import SettingsService @@ -18,6 +19,7 @@ class PluginService(Service): # plugin_dir = settings_service.settings.PLUGIN_DIR self.plugin_dir = os.path.dirname(__file__) self.plugins_base_module = "langflow.services.plugins" + self.load_plugins() def load_plugins(self): base_files = ["base.py", "service.py", "factory.py", "__init__.py"] @@ -32,7 +34,7 @@ class PluginService(Service): if inspect.isclass(attr) and issubclass(attr, BasePlugin) and attr not in [CallbackPlugin, BasePlugin]: self.register_plugin(plugin_name, attr()) except Exception as exc: - print(f"Error loading plugin {plugin_name}: {exc}") + logger.error(f"Error loading plugin {plugin_name}: {exc}") def register_plugin(self, plugin_name, plugin_instance): self.plugins[plugin_name] = plugin_instance