mirror of
https://github.com/fish2018/pansou.git
synced 2025-11-25 03:14:59 +08:00
禁用插件相关
This commit is contained in:
@@ -353,6 +353,7 @@ GET /api/search?kw=速度与激情&channels=tgsearchers3,xxx&conc=2&refresh=true
|
||||
|
||||
```json
|
||||
{
|
||||
"channels_count": 1,
|
||||
"channels": [
|
||||
"tgsearchers3"
|
||||
],
|
||||
|
||||
@@ -32,10 +32,12 @@ func SetupRouter(searchService *service.SearchService) *gin.Engine {
|
||||
|
||||
// 健康检查接口
|
||||
api.GET("/health", func(c *gin.Context) {
|
||||
// 获取插件信息
|
||||
// 根据配置决定是否返回插件信息
|
||||
pluginCount := 0
|
||||
pluginNames := []string{}
|
||||
if searchService != nil && searchService.GetPluginManager() != nil {
|
||||
pluginsEnabled := config.AppConfig.AsyncPluginEnabled
|
||||
|
||||
if pluginsEnabled && searchService != nil && searchService.GetPluginManager() != nil {
|
||||
plugins := searchService.GetPluginManager().GetPlugins()
|
||||
pluginCount = len(plugins)
|
||||
for _, p := range plugins {
|
||||
@@ -45,14 +47,22 @@ func SetupRouter(searchService *service.SearchService) *gin.Engine {
|
||||
|
||||
// 获取频道信息
|
||||
channels := config.AppConfig.DefaultChannels
|
||||
channelsCount := len(channels)
|
||||
|
||||
c.JSON(200, gin.H{
|
||||
response := gin.H{
|
||||
"status": "ok",
|
||||
"plugins_enabled": true,
|
||||
"plugin_count": pluginCount,
|
||||
"plugins": pluginNames,
|
||||
"plugins_enabled": pluginsEnabled,
|
||||
"channels": channels,
|
||||
})
|
||||
"channels_count": channelsCount,
|
||||
}
|
||||
|
||||
// 只有当插件启用时才返回插件相关信息
|
||||
if pluginsEnabled {
|
||||
response["plugin_count"] = pluginCount
|
||||
response["plugins"] = pluginNames
|
||||
}
|
||||
|
||||
c.JSON(200, response)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -143,7 +143,8 @@ func getDefaultConcurrency() int {
|
||||
return concurrency
|
||||
}
|
||||
|
||||
// 更新默认并发数(在真实插件数已知时调用)
|
||||
// 更新默认并发数(根据实际插件数或0调用)
|
||||
// pluginCount: 如果插件被禁用则为0,否则为实际插件数
|
||||
func UpdateDefaultConcurrency(pluginCount int) {
|
||||
if AppConfig == nil {
|
||||
return
|
||||
@@ -158,7 +159,7 @@ func UpdateDefaultConcurrency(pluginCount int) {
|
||||
// 计算频道数
|
||||
channelCount := len(AppConfig.DefaultChannels)
|
||||
|
||||
// 计算并发数 = 频道数 + 实际插件数 + 10
|
||||
// 计算并发数 = 频道数 + 插件数(插件禁用时为0)+ 10
|
||||
concurrency := channelCount + pluginCount + 10
|
||||
if concurrency < 1 {
|
||||
concurrency = 1 // 确保至少为1
|
||||
|
||||
15
main.go
15
main.go
@@ -107,8 +107,12 @@ func startServer() {
|
||||
// 注册所有全局插件(通过init函数自动注册到全局注册表)
|
||||
pluginManager.RegisterAllGlobalPlugins()
|
||||
|
||||
// 更新默认并发数(使用实际插件数)
|
||||
config.UpdateDefaultConcurrency(len(pluginManager.GetPlugins()))
|
||||
// 更新默认并发数(如果插件被禁用则使用0)
|
||||
pluginCount := 0
|
||||
if config.AppConfig.AsyncPluginEnabled {
|
||||
pluginCount = len(pluginManager.GetPlugins())
|
||||
}
|
||||
config.UpdateDefaultConcurrency(pluginCount)
|
||||
|
||||
// 初始化搜索服务
|
||||
searchService := service.NewSearchService(pluginManager)
|
||||
@@ -211,7 +215,8 @@ func printServiceInfo(port string, pluginManager *plugin.PluginManager) {
|
||||
} else {
|
||||
channelCount := len(config.AppConfig.DefaultChannels)
|
||||
pluginCount := 0
|
||||
if pluginManager != nil {
|
||||
// 只有插件启用时才计算插件数
|
||||
if config.AppConfig.AsyncPluginEnabled && pluginManager != nil {
|
||||
pluginCount = len(pluginManager.GetPlugins())
|
||||
}
|
||||
fmt.Printf("默认并发数: %d (= 频道数%d + 插件数%d + 10)\n",
|
||||
@@ -232,9 +237,7 @@ func printServiceInfo(port string, pluginManager *plugin.PluginManager) {
|
||||
if config.AppConfig.EnableCompression {
|
||||
fmt.Printf("响应压缩已启用: 最小压缩大小=%d字节\n",
|
||||
config.AppConfig.MinSizeToCompress)
|
||||
} else {
|
||||
fmt.Println("响应压缩已禁用")
|
||||
}
|
||||
}
|
||||
|
||||
// 输出GC配置信息
|
||||
fmt.Printf("GC配置: 触发阈值=%d%%, 内存优化=%v\n",
|
||||
|
||||
Reference in New Issue
Block a user