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 {