Round 5 fixes: workerpool resize shrink, validator lazy session close, plugin config error handling, 422 message detail, tests

This commit is contained in:
祀梦
2026-04-05 10:39:59 +08:00
parent d5fdfd65d9
commit 92c7fa19e2
5 changed files with 23 additions and 22 deletions

View File

@@ -82,10 +82,13 @@ class PluginService:
raise PluginNotFoundException(plugin_id)
safe_config = {k: v for k, v in config.items() if k in plugin.default_config}
if not safe_config:
return False
raise ValidationException("配置项无效或为空")
plugin.update_config(safe_config)
async with get_db() as db:
return await self.plugin_settings_repo.set_config(db, plugin_id, plugin.config)
success = await self.plugin_settings_repo.set_config(db, plugin_id, plugin.config)
if not success:
raise ProxyPoolException("保存插件配置失败", 500)
return True
def get_plugin(self, plugin_id: str) -> Optional[BaseCrawlerPlugin]:
return registry.get(plugin_id)