aturi indexer with listRecords and countRecords endpoints
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: run multiple tap consumers in parallel

dawn c8dab5d7 7ae1fccf

+15 -7
+15 -7
src/main.rs
··· 34 34 35 35 let ops_count = Arc::new(AtomicU64::new(0)); 36 36 37 - // start tap consumer 38 - let db_clone = state.db.clone(); 39 - let counts_clone = state.counts.clone(); 40 - let ops_count_clone = ops_count.clone(); 41 - tokio::spawn(async move { 42 - run_tap_consumer(db_clone, counts_clone, ops_count_clone).await; 43 - }); 37 + // start tap consumers 38 + let num_consumers = std::env::var("TAP_CONCURRENCY") 39 + .ok() 40 + .and_then(|s| s.parse().ok()) 41 + .unwrap_or(100); 42 + 43 + for i in 0..num_consumers { 44 + let db_clone = state.db.clone(); 45 + let counts_clone = state.counts.clone(); 46 + let ops_count_clone = ops_count.clone(); 47 + tokio::spawn(async move { 48 + info!("starting consumer #{}", i); 49 + run_tap_consumer(db_clone, counts_clone, ops_count_clone).await; 50 + }); 51 + } 44 52 45 53 // start stats reporter 46 54 let ops_count_stats = ops_count.clone();