From d77644ab16f7524e0adc19cf4bd093025dd34f87 Mon Sep 17 00:00:00 2001 From: honue Date: Wed, 29 Nov 2023 12:46:49 +0800 Subject: [PATCH] fix singleton.py --- app/utils/singleton.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/utils/singleton.py b/app/utils/singleton.py index a6bf423d..908b2ffd 100644 --- a/app/utils/singleton.py +++ b/app/utils/singleton.py @@ -9,9 +9,10 @@ class Singleton(abc.ABCMeta, type): _instances: dict = {} def __call__(cls, *args, **kwargs): - if cls not in cls._instances: - cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) - return cls._instances[cls] + key = (cls, args, frozenset(kwargs.items())) + if key not in cls._instances: + cls._instances[key] = super().__call__(*args, **kwargs) + return cls._instances[key] class AbstractSingleton(abc.ABC, metaclass=Singleton):