diff --git a/kernel/main.go b/kernel/main.go index 426622bd8..caf2dd1c7 100644 --- a/kernel/main.go +++ b/kernel/main.go @@ -52,7 +52,7 @@ func main() { util.PushClearAllMsg() go model.AutoRefreshCheck() go model.AutoFlushTx() - go sql.AutoFlushQueue() + go sql.AutoFlushTx() go treenode.AutoFlushBlockTree() go cache.LoadAssets() go model.AutoFixIndex() diff --git a/kernel/mobile/kernel.go b/kernel/mobile/kernel.go index 67b339a1d..c043809dc 100644 --- a/kernel/mobile/kernel.go +++ b/kernel/mobile/kernel.go @@ -66,7 +66,7 @@ func StartKernel(container, appDir, workspaceBaseDir, timezoneID, localIPs, lang util.PushClearAllMsg() go model.AutoRefreshCheck() go model.AutoFlushTx() - go sql.AutoFlushQueue() + go sql.AutoFlushTx() go treenode.AutoFlushBlockTree() go cache.LoadAssets() go model.AutoFixIndex() diff --git a/kernel/model/ocr.go b/kernel/model/ocr.go index 19cc77dae..740145e4d 100644 --- a/kernel/model/ocr.go +++ b/kernel/model/ocr.go @@ -1,7 +1,6 @@ package model import ( - "github.com/dustin/go-humanize" "io" "os" "path/filepath" @@ -12,9 +11,11 @@ import ( "time" "github.com/88250/gulu" + "github.com/dustin/go-humanize" "github.com/panjf2000/ants/v2" "github.com/siyuan-note/logging" "github.com/siyuan-note/siyuan/kernel/cache" + "github.com/siyuan-note/siyuan/kernel/task" "github.com/siyuan-note/siyuan/kernel/util" ) @@ -24,7 +25,7 @@ func AutoOCRAssets() { } for { - autoOCRAssets() + task.AppendTask(task.OCRImage, autoOCRAssets) time.Sleep(7 * time.Second) } } diff --git a/kernel/sql/queue.go b/kernel/sql/queue.go index c9c71cfa2..2b076f97c 100644 --- a/kernel/sql/queue.go +++ b/kernel/sql/queue.go @@ -29,6 +29,7 @@ import ( "github.com/emirpasic/gods/sets/hashset" "github.com/siyuan-note/eventbus" "github.com/siyuan-note/logging" + "github.com/siyuan-note/siyuan/kernel/task" "github.com/siyuan-note/siyuan/kernel/util" ) @@ -50,10 +51,10 @@ type treeQueueOperation struct { renameTreeOldHPath string // rename } -func AutoFlushTreeQueue() { +func AutoFlushTx() { for { - flushTreeQueue() time.Sleep(util.SQLFlushInterval) + task.PrependTask(task.DatabaseIndex, FlushQueue) } } @@ -91,7 +92,7 @@ func ClearQueue() { operationQueue = nil } -func flushTreeQueue() { +func FlushQueue() { ops := mergeUpsertTrees() if 1 > len(ops) { return