🎨 改进内核任务调度机制提升稳定性 https://github.com/siyuan-note/siyuan/issues/7113

This commit is contained in:
Liang Ding 2023-01-26 17:23:45 +08:00
parent fd5538a7b0
commit 3c79a226be
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
6 changed files with 13 additions and 8 deletions

View file

@ -945,7 +945,7 @@
"55": "Indexed references of [%d] documents",
"56": "Reindexing, please wait until rebuilding is complete before trying to open",
"57": "Failed to create temp key",
"58": "TODO",
"58": "Verifying index...",
"59": "Failed to set sync ignore list",
"60": "Failed to get the update package: %s",
"61": "⬆️ The new version installation package is ready, do you want to install the new version now?",

View file

@ -945,7 +945,7 @@
"55": "Referencias indexadas de [%d] documentos",
"56": "Reindexando, espere hasta que se complete la reconstrucción antes de intentar abrir",
"57": "Fallo en la creación de la clave temporal",
"58": "TODO",
"58": "Verificando índice...",
"59": " Falló la configuración de sincronización de la lista de ignorados",
"60": "Fallo al obtener el paquete de actualización: %s",
"61": "⬆️ El paquete de instalación de la nueva versión está listo, ¿quieres instalar la nueva versión ahora?",

View file

@ -945,7 +945,7 @@
"55": "Références indexées de [%d] documents",
"56": "Réindexation, veuillez attendre que la reconstruction soit terminée avant d'essayer d'ouvrir",
"57": "Échec de la création d'une clé temporaire",
"58": "TODO",
"58": "Vérification de l'index...",
"59": "Échec de la définition de la liste des ignores de synchronisation",
"60": "Échec de la récupération du paquet de mise à jour : %s",
"61": "⬆️ Le package d'installation de la nouvelle version est prêt, voulez-vous installer la nouvelle version maintenant ?",

View file

@ -945,7 +945,7 @@
"55": "已完成索引 [%d] 篇文檔的引用關係",
"56": "正在重建索引,請等重建索引完畢後再嘗試打開",
"57": "創建臨時金鑰失敗",
"58": "TODO",
"58": "正在校驗索引...",
"59": "設置同步忽略列表失敗",
"60": "獲取更新包失敗:%s",
"61": "⬆️ 新版本安裝包已經準備就緒,是否現在安裝新版本?",

View file

@ -945,7 +945,7 @@
"55": "已完成索引 [%d] 篇文档的引用关系",
"56": "正在重建索引,请等重建索引完毕后再尝试打开",
"57": "创建临时密钥失败",
"58": "TODO",
"58": "正在校验索引...",
"59": "设置同步忽略列表失败",
"60": "获取更新包失败:%s",
"61": "⬆️ 新版本安装包已经准备就绪,是否现在安装新版本?",

View file

@ -52,6 +52,8 @@ func autoFixIndex() {
autoFixLock.Lock()
defer autoFixLock.Unlock()
util.PushStatusBar(Conf.Language(58))
// 去除重复的数据库块记录
duplicatedRootIDs := sql.GetDuplicatedRootIDs("blocks")
if 1 > len(duplicatedRootIDs) {
@ -61,6 +63,7 @@ func autoFixIndex() {
}
}
util.PushStatusBar(Conf.Language(58))
roots := sql.GetBlocks(duplicatedRootIDs)
rootMap := map[string]*sql.Block{}
for _, root := range roots {
@ -83,8 +86,9 @@ func autoFixIndex() {
logging.LogWarnf("exist more than one tree duplicated [%d], reindex it", len(duplicatedRootIDs))
}
util.PushStatusBar(Conf.Language(58))
sql.WaitForWritingDatabase()
util.PushStatusBar(Conf.Language(58))
// 根据文件系统补全块树
boxes := Conf.GetOpenedBoxes()
for _, box := range boxes {
@ -125,8 +129,9 @@ func autoFixIndex() {
}
}
util.PushStatusBar(Conf.Language(58))
sql.WaitForWritingDatabase()
util.PushStatusBar(Conf.Language(58))
// 清理已关闭的笔记本块树
boxes = Conf.GetClosedBoxes()
for _, box := range boxes {
@ -140,8 +145,8 @@ func autoFixIndex() {
reindexTreeByUpdated(rootUpdatedMap, dbRootUpdatedMap)
}
util.PushStatusBar(Conf.Language(58))
sql.WaitForWritingDatabase()
util.PushStatusBar(Conf.Language(185))
}