From abf14cc633f95240d6ab00e657f736db52550699 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 16 Feb 2025 11:21:14 +0800 Subject: [PATCH] :art: Improve block reference count refreshing https://github.com/siyuan-note/siyuan/issues/14109 --- kernel/model/file.go | 2 +- kernel/model/history.go | 2 +- kernel/model/transaction.go | 14 +++++++------- kernel/task/queue.go | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/kernel/model/file.go b/kernel/model/file.go index f73f2e184..34a484cef 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -1601,7 +1601,7 @@ func removeDoc0(tree *parse.Tree, childrenDir string) { if nil != defTree { defNode := treenode.GetNodeInTree(defTree, defID) if nil != defNode { - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID) } } } diff --git a/kernel/model/history.go b/kernel/model/history.go index 3e096ed8a..41d474c70 100644 --- a/kernel/model/history.go +++ b/kernel/model/history.go @@ -330,7 +330,7 @@ func RollbackDocHistory(boxID, historyPath string) (err error) { if nil != defTree { defNode := treenode.GetNodeInTree(defTree, defID) if nil != defNode { - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID) } } } diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index 86fb53343..3396f197f 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -381,8 +381,8 @@ func (tx *Transaction) doMove(operation *Operation) (ret *TxErr) { if err = tx.writeTree(targetTree); err != nil { return } - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, srcTree.ID, srcTree.ID) - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, targetTree.ID, srcNode.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, srcTree.ID, srcTree.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, targetTree.ID, srcNode.ID) } return } @@ -466,8 +466,8 @@ func (tx *Transaction) doMove(operation *Operation) (ret *TxErr) { if err = tx.writeTree(targetTree); err != nil { return &TxErr{code: TxErrCodeWriteTree, msg: err.Error(), id: id} } - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, srcTree.ID, srcTree.ID) - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, targetTree.ID, srcNode.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, srcTree.ID, srcTree.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, targetTree.ID, srcNode.ID) } return } @@ -779,7 +779,7 @@ func (tx *Transaction) doDelete(operation *Operation) (ret *TxErr) { if nil != defTree { defNode := treenode.GetNodeInTree(defTree, defID) if nil != defNode { - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID) } } } @@ -1110,7 +1110,7 @@ func (tx *Transaction) doInsert(operation *Operation) (ret *TxErr) { if nil != defTree { defNode := treenode.GetNodeInTree(defTree, defID) if nil != defNode { - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID) } } } @@ -1221,7 +1221,7 @@ func (tx *Transaction) doUpdate(operation *Operation) (ret *TxErr) { if nil != defTree { defNode := treenode.GetNodeInTree(defTree, defID) if nil != defNode { - task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID) + task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID) } } } diff --git a/kernel/task/queue.go b/kernel/task/queue.go index 02f8197ba..184275b9d 100644 --- a/kernel/task/queue.go +++ b/kernel/task/queue.go @@ -179,7 +179,7 @@ func StatusJob() { queueLock.Lock() for _, task := range taskQueue { action := task.Action - if c := count[action]; 2 < c { + if c := count[action]; 7 < c { logging.LogWarnf("too many tasks [%s], ignore show its status", action) continue }