Pārlūkot izejas kodu

:recycle: Implement some delayed kernel events using task queues https://github.com/siyuan-note/siyuan/issues/12393

Daniel 9 mēneši atpakaļ
vecāks
revīzija
ffe737f55c
3 mainītis faili ar 7 papildinājumiem un 9 dzēšanām
  1. 3 4
      kernel/model/cloud_service.go
  2. 2 2
      kernel/model/index_fix.go
  3. 2 3
      kernel/model/mount.go

+ 3 - 4
kernel/model/cloud_service.go

@@ -33,6 +33,7 @@ import (
 	"github.com/siyuan-note/httpclient"
 	"github.com/siyuan-note/logging"
 	"github.com/siyuan-note/siyuan/kernel/conf"
+	"github.com/siyuan-note/siyuan/kernel/task"
 	"github.com/siyuan-note/siyuan/kernel/util"
 )
 
@@ -238,8 +239,7 @@ func refreshSubscriptionExpirationRemind() {
 		now := time.Now().UnixMilli()
 		if now >= expired { // 已经过期
 			if now-expired <= 1000*60*60*24*2 { // 2 天内提醒 https://github.com/siyuan-note/siyuan/issues/7816
-				time.Sleep(time.Second * 30)
-				util.PushErrMsg(Conf.Language(128), 0)
+				task.AppendTaskWithDelay(task.PushMsg, 30*time.Second, util.PushErrMsg, Conf.Language(128), 0)
 			}
 			return
 		}
@@ -251,8 +251,7 @@ func refreshSubscriptionExpirationRemind() {
 
 		if 0 < remains && expireDay > remains {
 			util.WaitForUILoaded()
-			time.Sleep(time.Second * 7)
-			util.PushErrMsg(fmt.Sprintf(Conf.Language(127), remains), 0)
+			task.AppendTaskWithDelay(task.PushMsg, 7*time.Second, util.PushErrMsg, fmt.Sprintf(Conf.Language(127), remains), 0)
 			return
 		}
 	}

+ 2 - 2
kernel/model/index_fix.go

@@ -257,8 +257,8 @@ func resetDuplicateBlocksOnFileSys() {
 	if needRefreshUI {
 		util.ReloadUI()
 		go func() {
-			time.Sleep(time.Second * 3)
-			util.PushMsg(Conf.Language(190), 5000)
+			util.WaitForUILoaded()
+			task.AppendTaskWithDelay(task.PushMsg, 3*time.Second, util.PushMsg, Conf.Language(190), 5000)
 		}()
 	}
 }

+ 2 - 3
kernel/model/mount.go

@@ -30,6 +30,7 @@ import (
 	"github.com/88250/lute/ast"
 	"github.com/siyuan-note/filelock"
 	"github.com/siyuan-note/logging"
+	"github.com/siyuan-note/siyuan/kernel/task"
 	"github.com/siyuan-note/siyuan/kernel/util"
 )
 
@@ -218,10 +219,8 @@ func Mount(boxID string) (alreadyMount bool, err error) {
 			Conf.Save()
 		}
 
+		task.AppendTaskWithDelay(task.PushMsg, 3*time.Second, util.PushErrMsg, Conf.Language(52), 7000)
 		go func() {
-			time.Sleep(time.Second * 3)
-			util.PushErrMsg(Conf.Language(52), 7000)
-
 			// 每次打开帮助文档时自动检查版本更新并提醒 https://github.com/siyuan-note/siyuan/issues/5057
 			time.Sleep(time.Second * 10)
 			CheckUpdate(true)