Browse Source

调整细节

Signed-off-by: allan716 <[email protected]>
allan716 3 years ago
parent
commit
c20c0fb1d8

+ 0 - 19
cmd/chinesesubfinder/main.go

@@ -6,7 +6,6 @@ import (
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/cron_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/file_downloader"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/pre_job"
-	"github.com/allanpk716/ChineseSubFinder/internal/logic/scan_played_video_subinfo"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/global_value"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
@@ -76,24 +75,6 @@ func main() {
 	if err != nil {
 		loggerBase.Panicln("pre_job", err)
 	}
-	//// ----------------------------------------------
-	scan, err := scan_played_video_subinfo.NewScanPlayedVideoSubInfo(loggerBase, settings.GetSettings())
-	if err != nil {
-		loggerBase.Panicln(err)
-	}
-	bok, err := scan.GetPlayedItemsSubtitle()
-	if err != nil {
-		loggerBase.Panicln(err)
-	}
-	if bok == true {
-
-		scan.Clear()
-
-		err = scan.Scan()
-		if err != nil {
-			loggerBase.Panicln(err)
-		}
-	}
 	// ----------------------------------------------
 	fileDownloader := file_downloader.NewFileDownloader(settings.GetSettings(), loggerBase)
 	cronHelper := cron_helper.NewCronHelper(fileDownloader)

+ 40 - 12
internal/logic/cron_helper/cron_helper.go

@@ -2,6 +2,7 @@ package cron_helper
 
 import (
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/file_downloader"
+	"github.com/allanpk716/ChineseSubFinder/internal/logic/scan_played_video_subinfo"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/task_queue"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/common"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/downloader"
@@ -15,18 +16,20 @@ import (
 )
 
 type CronHelper struct {
-	stopping                bool // 正在停止
-	cronHelperRunning       bool // 这个是定时器启动的状态,它为true,不代表核心函数在执行
-	fileDownloader          *file_downloader.FileDownloader
-	downloadQueue           *task_queue.TaskQueue  // 需要下载的视频的队列
-	downloader              *downloader.Downloader // 下载者线程
-	cronLock                sync.Mutex             // 锁
-	c                       *cron.Cron             // 定时器实例
-	sets                    *settings.Settings     // 设置实例
-	log                     *logrus.Logger         // 日志实例
-	entryIDScanVideoProcess cron.EntryID
-	entryIDSupplierCheck    cron.EntryID
-	entryIDQueueDownloader  cron.EntryID
+	stopping                      bool // 正在停止
+	cronHelperRunning             bool // 这个是定时器启动的状态,它为true,不代表核心函数在执行
+	scanPlayedVideoSubInfo        *scan_played_video_subinfo.ScanPlayedVideoSubInfo
+	fileDownloader                *file_downloader.FileDownloader
+	downloadQueue                 *task_queue.TaskQueue  // 需要下载的视频的队列
+	downloader                    *downloader.Downloader // 下载者线程
+	cronLock                      sync.Mutex             // 锁
+	c                             *cron.Cron             // 定时器实例
+	sets                          *settings.Settings     // 设置实例
+	log                           *logrus.Logger         // 日志实例
+	entryIDScanVideoProcess       cron.EntryID
+	entryIDSupplierCheck          cron.EntryID
+	entryIDQueueDownloader        cron.EntryID
+	entryIDScanPlayedVideoSubInfo cron.EntryID
 }
 
 func NewCronHelper(fileDownloader *file_downloader.FileDownloader) *CronHelper {
@@ -39,6 +42,11 @@ func NewCronHelper(fileDownloader *file_downloader.FileDownloader) *CronHelper {
 		downloadQueue: task_queue.NewTaskQueue("LocalSubDownloadQueue", fileDownloader.Settings, fileDownloader.Log),
 	}
 
+	var err error
+	ch.scanPlayedVideoSubInfo, err = scan_played_video_subinfo.NewScanPlayedVideoSubInfo(ch.log, ch.sets)
+	if err != nil {
+		ch.log.Panicln(err)
+	}
 	return &ch
 }
 
@@ -91,6 +99,10 @@ func (ch *CronHelper) Start(runImmediately bool) {
 	if err != nil {
 		ch.log.Panicln("CronHelper QueueDownloader, Cron entryID:", ch.entryIDQueueDownloader, "Error:", err)
 	}
+	ch.entryIDScanPlayedVideoSubInfo, err = ch.c.AddFunc("@every 24h", ch.scanPlayedVideoSub)
+	if err != nil {
+		ch.log.Panicln("CronHelper QueueDownloader, Cron entryID:", ch.entryIDScanPlayedVideoSubInfo, "Error:", err)
+	}
 
 	// 是否在定时器开启前先执行一次任务
 	if runImmediately == true {
@@ -144,6 +156,7 @@ func (ch *CronHelper) Stop() {
 	ch.cronLock.Unlock()
 
 	ch.downloader.Cancel()
+	ch.scanPlayedVideoSubInfo.Cancel()
 	// Stop stops the cron scheduler if it is running; otherwise it does nothing.
 	// A context is returned so the caller can wait for running jobs to complete.
 	nowContext := ch.c.Stop()
@@ -162,6 +175,21 @@ func (ch *CronHelper) Stop() {
 	common.SetSubScanJobStatusNil()
 }
 
+func (ch *CronHelper) scanPlayedVideoSub() {
+
+	bok, err := ch.scanPlayedVideoSubInfo.GetPlayedItemsSubtitle()
+	if err != nil {
+		ch.log.Panicln(err)
+	}
+	if bok == true {
+		ch.scanPlayedVideoSubInfo.Clear()
+		err = ch.scanPlayedVideoSubInfo.Scan()
+		if err != nil {
+			ch.log.Panicln(err)
+		}
+	}
+}
+
 func (ch *CronHelper) CronHelperRunning() bool {
 
 	defer func() {

+ 6 - 0
internal/logic/sub_supplier/subSupplierHub.go

@@ -206,6 +206,12 @@ func (d *SubSupplierHub) CheckSubSiteStatus() backend.ReplyCheckStatus {
 		i++
 	}
 
+	for _, supplier := range d.Suppliers {
+		if supplier.IsAlive() == true {
+			d.log.Infoln("Alive Supplier:", supplier.GetSupplierName())
+		}
+	}
+
 	d.log.Infoln("Check Sub Supplier End")
 
 	return outStatus