mirror of
https://github.com/scsibug/nostr-rs-relay.git
synced 2024-11-22 09:09:07 -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::select! {
|
||||||
_ = tokio::time::sleep(Duration::from_secs(EVENT_MAINTENANCE_FREQ_SEC)) => {
|
_ = tokio::time::sleep(Duration::from_secs(EVENT_MAINTENANCE_FREQ_SEC)) => {
|
||||||
if let Ok(mut conn) = pool.get() {
|
if let Ok(mut conn) = pool.get() {
|
||||||
// set the busy timeout to a larger value (default is 5 seconds).
|
// the busy timer will block writers, so don't set
|
||||||
conn.busy_timeout(Duration::from_secs(60)).ok();
|
// this any higher than you want max latency for event
|
||||||
|
// writes.
|
||||||
|
conn.busy_timeout(Duration::from_secs(1)).ok();
|
||||||
debug!("running database optimizer");
|
debug!("running database optimizer");
|
||||||
optimize_db(&mut conn).ok();
|
optimize_db(&mut conn).ok();
|
||||||
debug!("running wal_checkpoint(TRUNCATE)");
|
debug!("running wal_checkpoint(TRUNCATE)");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user