mirror of
https://github.com/ctwj/urldb.git
synced 2025-11-25 03:15:04 +08:00
@@ -269,7 +269,7 @@ func CreateResource(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 同步到Meilisearch
|
||||
if meilisearchManager != nil {
|
||||
if meilisearchManager != nil && meilisearchManager.IsEnabled() {
|
||||
go func() {
|
||||
if err := meilisearchManager.SyncResourceToMeilisearch(resource); err != nil {
|
||||
utils.Error("同步资源到Meilisearch失败: %v", err)
|
||||
@@ -354,7 +354,7 @@ func UpdateResource(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 同步到Meilisearch
|
||||
if meilisearchManager != nil {
|
||||
if meilisearchManager != nil && meilisearchManager.IsEnabled() {
|
||||
go func() {
|
||||
if err := meilisearchManager.SyncResourceToMeilisearch(resource); err != nil {
|
||||
utils.Error("同步资源到Meilisearch失败: %v", err)
|
||||
|
||||
@@ -322,6 +322,12 @@ func ToggleAutoProcess(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 确保配置缓存已刷新
|
||||
if err := repoManager.SystemConfigRepository.SafeRefreshConfigCache(); err != nil {
|
||||
utils.Error("刷新配置缓存失败: %v", err)
|
||||
// 不返回错误,因为配置已经保存成功
|
||||
}
|
||||
|
||||
// 更新定时任务状态
|
||||
scheduler := scheduler.GetGlobalScheduler(
|
||||
repoManager.HotDramaRepository,
|
||||
|
||||
4
main.go
4
main.go
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/ctwj/urldb/db/repo"
|
||||
"github.com/ctwj/urldb/handlers"
|
||||
"github.com/ctwj/urldb/middleware"
|
||||
"github.com/ctwj/urldb/scheduler"
|
||||
"github.com/ctwj/urldb/services"
|
||||
"github.com/ctwj/urldb/task"
|
||||
"github.com/ctwj/urldb/utils"
|
||||
@@ -121,6 +122,9 @@ func main() {
|
||||
// 设置Meilisearch管理器到handlers中
|
||||
handlers.SetMeilisearchManager(meilisearchManager)
|
||||
|
||||
// 设置全局调度器的Meilisearch管理器
|
||||
scheduler.SetGlobalMeilisearchManager(meilisearchManager)
|
||||
|
||||
// 设置公开API中间件的Repository管理器
|
||||
middleware.SetRepositoryManager(repoManager)
|
||||
|
||||
|
||||
@@ -218,9 +218,9 @@ func (a *AutoTransferScheduler) processAutoTransfer() {
|
||||
|
||||
if shouldSkip {
|
||||
// 标记为违禁词错误
|
||||
resource.ErrorMsg = fmt.Sprintf("存在违禁词: %s", strings.Join(matchedWords, ", "))
|
||||
resource.ErrorMsg = fmt.Sprintf("存在违禁词 (共 %d 个)", len(matchedWords))
|
||||
forbiddenResources = append(forbiddenResources, resource)
|
||||
utils.Info(fmt.Sprintf("标记违禁词资源: %s, 违禁词: %s", resource.Title, strings.Join(matchedWords, ", ")))
|
||||
utils.Info(fmt.Sprintf("标记违禁词资源: %s (包含 %d 个违禁词)", resource.Title, len(matchedWords)))
|
||||
} else {
|
||||
filteredResources = append(filteredResources, resource)
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"sync"
|
||||
|
||||
"github.com/ctwj/urldb/db/repo"
|
||||
"github.com/ctwj/urldb/services"
|
||||
"github.com/ctwj/urldb/utils"
|
||||
)
|
||||
|
||||
@@ -16,8 +17,20 @@ type GlobalScheduler struct {
|
||||
var (
|
||||
globalScheduler *GlobalScheduler
|
||||
once sync.Once
|
||||
// 全局Meilisearch管理器
|
||||
globalMeilisearchManager *services.MeilisearchManager
|
||||
)
|
||||
|
||||
// SetGlobalMeilisearchManager 设置全局Meilisearch管理器
|
||||
func SetGlobalMeilisearchManager(manager *services.MeilisearchManager) {
|
||||
globalMeilisearchManager = manager
|
||||
}
|
||||
|
||||
// GetGlobalMeilisearchManager 获取全局Meilisearch管理器
|
||||
func GetGlobalMeilisearchManager() *services.MeilisearchManager {
|
||||
return globalMeilisearchManager
|
||||
}
|
||||
|
||||
// GetGlobalScheduler 获取全局调度器实例(单例模式)
|
||||
func GetGlobalScheduler(hotDramaRepo repo.HotDramaRepository, readyResourceRepo repo.ReadyResourceRepository, resourceRepo repo.ResourceRepository, systemConfigRepo repo.SystemConfigRepository, panRepo repo.PanRepository, cksRepo repo.CksRepository, tagRepo repo.TagRepository, categoryRepo repo.CategoryRepository) *GlobalScheduler {
|
||||
once.Do(func() {
|
||||
|
||||
@@ -342,6 +342,19 @@ func (r *ReadyResourceScheduler) convertReadyResourceToResource(readyResource en
|
||||
}
|
||||
}
|
||||
|
||||
// 同步到Meilisearch
|
||||
if globalMeilisearchManager != nil && globalMeilisearchManager.IsEnabled() {
|
||||
go func() {
|
||||
if err := globalMeilisearchManager.SyncResourceToMeilisearch(resource); err != nil {
|
||||
utils.Error("同步资源到Meilisearch失败: %v", err)
|
||||
} else {
|
||||
utils.Info(fmt.Sprintf("资源已同步到Meilisearch: %s", resource.URL))
|
||||
}
|
||||
}()
|
||||
} else {
|
||||
utils.Debug("Meilisearch未启用或未初始化,跳过同步")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
: '需要手动处理待处理资源'
|
||||
}}
|
||||
</div>
|
||||
<n-button
|
||||
<!-- <n-button
|
||||
@click="refreshConfig"
|
||||
:disabled="updatingConfig"
|
||||
size="small"
|
||||
@@ -69,7 +69,7 @@
|
||||
<template #icon>
|
||||
<i class="fas fa-sync-alt"></i>
|
||||
</template>
|
||||
</n-button>
|
||||
</n-button> -->
|
||||
<n-button
|
||||
@click="toggleAutoProcess"
|
||||
:disabled="updatingConfig"
|
||||
|
||||
Reference in New Issue
Block a user