feat: disable plugin when init failed

This commit is contained in:
lanvent
2023-04-05 18:05:28 +08:00
parent 2cf71dd6f2
commit 5bd9f50818
6 changed files with 21 additions and 11 deletions

View File

@@ -95,7 +95,12 @@ class PluginManager:
for name, plugincls in self.plugins.items():
if plugincls.enabled:
if name not in self.instances:
instance = plugincls()
try:
instance = plugincls()
except Exception as e:
logger.warn("Failed to create init %s, diabled. %s" % (name, e))
self.disable_plugin(name)
continue
self.instances[name] = instance
for event in instance.handlers:
if event not in self.listening_plugins: