siyuan-note / siyuan

A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.
https://b3log.org/siyuan
GNU Affero General Public License v3.0
18.47k stars 1.38k forks source link

Add internal kernel API `/api/sqlite/flushTransaction` #10005

Closed IAliceBobI closed 8 months ago

IAliceBobI commented 8 months ago

希望加一个API,等待当前所有DB任务都写盘后才返回。

希望加一个API,等待当前所有DB任务都写盘后才返回。

In what scenarios do you need this feature?

有没有可能加一个flash db的API。等待所有pending的任务都给刷盘了。 有时候调用一些API后,虽然成功了,但db里是没有相关数据的。 插件中只能等待,或者间隔地循环尝试。插件引入这种设计,比较难维护。

另外,前端是否也能提供一个接口,等待编辑器里面的事务,也发送到后端。 有时我在编辑器写入内容,到内容出现在db,这个时间不好把握。

如果前端后端都有flash 接口,那就能准确地知道,何时查db,能查到刚刚写入的数据。

Describe the optimal solution

如果加入一个flushdb类似的api. 插件中可以这样用: await createDoc() await flushDB() await queryDB()

Describe the candidate solution

No response

Other information

No response

88250 commented 8 months ago

加入内核接口应该就够了,前端可以自己包装一下?

---原始邮件--- 发件人: @.> 发送时间: 2023年12月28日(周四) 晚上6:19 收件人: @.>; 抄送: @.***>; 主题: [siyuan-note/siyuan] 希望加一个API,等待当前所有DB任务都写盘后才返回。 (Issue #10005)

In what scenarios do you need this feature?

有没有可能加一个flash db的API。等待所有pending的任务都给刷盘了。 有时候调用一些API后,虽然成功了,但db里是没有相关数据的。 插件中只能等待,或者间隔地循环尝试。插件引入这种设计,比较难维护。

另外,前端是否也能提供一个接口,等待编辑器里面的事务,也发送到后端。 有时我在编辑器写入内容,到内容出现在db,这个时间不好把握。

如果前端后端都有flash 接口,那就能准确地知道,何时查db,能查到刚刚写入的数据。

Describe the optimal solution

如果加入一个flushdb类似的api. 插件中可以这样用: await createDoc() await flushDB() await queryDB()

Describe the candidate solution

No response

Other information

No response

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

IAliceBobI commented 8 months ago

@88250 也行,只是我目前不知道怎么搞。后续我再研究吧。先加内核的。谢谢!