From ffed021dda1fb66e066cd6541e26ebf08b873b13 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 19 Jan 2023 01:15:54 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E5=B5=8C=E5=85=A5=E5=9D=97=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=90=9C=E7=B4=A2=20https://github.com/siyuan-note/si?= =?UTF-8?q?yuan/issues/7112?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/ocr.go | 2 +- kernel/model/transaction.go | 8 ++++++-- kernel/sql/block_query.go | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/kernel/model/ocr.go b/kernel/model/ocr.go index 96c493c8b..fa971bc93 100644 --- a/kernel/model/ocr.go +++ b/kernel/model/ocr.go @@ -57,7 +57,7 @@ func autoOCRAssets() { waitGroup.Add(1) p.Invoke(assetAbsPath) - if 63 <= i { // 一次最多处理 64 张图片,防止卡顿 + if 63 <= i { // 一次任务中最多处理 64 张图片,防止卡顿 break } } diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index e68675d59..b3c19d9a7 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1225,8 +1225,8 @@ func AutoIndexEmbedBlock() { } func autoIndexEmbedBlock() { - embedBlocks := sql.QueryEmbedBlocks() - for _, embedBlock := range embedBlocks { + embedBlocks := sql.QueryEmptyContentEmbedBlocks() + for i, embedBlock := range embedBlocks { stmt := strings.TrimPrefix(embedBlock.Markdown, "{{") stmt = strings.TrimSuffix(stmt, "}}") blocks := sql.SelectBlocksRawStmtNoParse(stmt, 102400) @@ -1234,6 +1234,10 @@ func autoIndexEmbedBlock() { embedBlock.Content = block.Content sql.UpdateBlockContent(embedBlock) } + + if 63 <= i { // 一次任务中最多处理 64 个嵌入块,防止卡顿 + break + } } } diff --git a/kernel/sql/block_query.go b/kernel/sql/block_query.go index 32e35c108..53892b9d6 100644 --- a/kernel/sql/block_query.go +++ b/kernel/sql/block_query.go @@ -31,7 +31,7 @@ import ( "github.com/siyuan-note/siyuan/kernel/util" ) -func QueryEmbedBlocks() (ret []*Block) { +func QueryEmptyContentEmbedBlocks() (ret []*Block) { stmt := "SELECT * FROM blocks WHERE type = 'query_embed' AND content = ''" rows, err := query(stmt) if nil != err {