mirror of
https://github.com/scsibug/nostr-rs-relay.git
synced 2024-12-22 16:35:51 -05:00
fix: do not block writers for more than 1 second during checkpoints
This commit is contained in:
parent
b80b54cd9d
commit
25480e837f
|
@ -689,8 +689,10 @@ pub async fn db_maintenance(pool: SqlitePool) {
|
|||
tokio::select! {
|
||||
_ = tokio::time::sleep(Duration::from_secs(EVENT_MAINTENANCE_FREQ_SEC)) => {
|
||||
if let Ok(mut conn) = pool.get() {
|
||||
// set the busy timeout to a larger value (default is 5 seconds).
|
||||
conn.busy_timeout(Duration::from_secs(60)).ok();
|
||||
// the busy timer will block writers, so don't set
|
||||
// this any higher than you want max latency for event
|
||||
// writes.
|
||||
conn.busy_timeout(Duration::from_secs(1)).ok();
|
||||
debug!("running database optimizer");
|
||||
optimize_db(&mut conn).ok();
|
||||
debug!("running wal_checkpoint(TRUNCATE)");
|
||||
|
|
Loading…
Reference in New Issue
Block a user