File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ use std::thread;
44
55use chrono:: DateTime ;
66use chrono:: Utc ;
7+ use chrono:: Duration ;
78
89use rusqlite:: Connection ;
910use rusqlite:: DropBehavior ;
@@ -150,6 +151,7 @@ impl DatastoreWorker {
150151 } ;
151152 let mut commit = false ;
152153 let mut uncommited_events = 0 ;
154+ let last_commit_time: DateTime < Utc > = Utc :: now ( ) ;
153155 transaction. set_drop_behavior ( DropBehavior :: Commit ) ;
154156 loop {
155157 let ( request, response_sender) = match self . responder . poll ( ) {
@@ -262,7 +264,9 @@ impl DatastoreWorker {
262264 }
263265 } ;
264266 response_sender. respond ( response) ;
265- if commit || uncommited_events > 100 {
267+ let now: DateTime < Utc > = Utc :: now ( ) ;
268+ let commit_interval_passed: bool = ( now - last_commit_time) > Duration :: seconds ( 15 ) ;
269+ if commit || commit_interval_passed || uncommited_events > 100 {
266270 break ;
267271 } ;
268272 }
You can’t perform that action at this time.
0 commit comments