Skip to content

Commit 2c5ddac

Browse files
committed
Log shutdowns of background tasks
1 parent 3de5c9d commit 2c5ddac

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

src/lib.rs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,10 @@ impl Node {
275275
loop {
276276
tokio::select! {
277277
_ = stop_sync.changed() => {
278+
log_trace!(
279+
sync_logger,
280+
"Stopping background syncing on-chain wallet.",
281+
);
278282
return;
279283
}
280284
_ = onchain_wallet_sync_interval.tick() => {
@@ -321,6 +325,10 @@ impl Node {
321325
loop {
322326
tokio::select! {
323327
_ = stop_fee_updates.changed() => {
328+
log_trace!(
329+
fee_update_logger,
330+
"Stopping background updates of fee rate cache.",
331+
);
324332
return;
325333
}
326334
_ = fee_rate_update_interval.tick() => {
@@ -368,6 +376,10 @@ impl Node {
368376
loop {
369377
tokio::select! {
370378
_ = stop_sync.changed() => {
379+
log_trace!(
380+
sync_logger,
381+
"Stopping background syncing Lightning wallet.",
382+
);
371383
return;
372384
}
373385
_ = wallet_sync_interval.tick() => {
@@ -420,6 +432,10 @@ impl Node {
420432
loop {
421433
tokio::select! {
422434
_ = stop_gossip_sync.changed() => {
435+
log_trace!(
436+
gossip_sync_logger,
437+
"Stopping background syncing RGS gossip data.",
438+
);
423439
return;
424440
}
425441
_ = interval.tick() => {
@@ -495,6 +511,10 @@ impl Node {
495511
let peer_mgr = Arc::clone(&peer_manager_connection_handler);
496512
tokio::select! {
497513
_ = stop_listen.changed() => {
514+
log_trace!(
515+
listening_logger,
516+
"Stopping listening to inbound connections.",
517+
);
498518
break;
499519
}
500520
res = listener.accept() => {
@@ -527,6 +547,10 @@ impl Node {
527547
loop {
528548
tokio::select! {
529549
_ = stop_connect.changed() => {
550+
log_trace!(
551+
connect_logger,
552+
"Stopping reconnecting known peers.",
553+
);
530554
return;
531555
}
532556
_ = interval.tick() => {
@@ -572,6 +596,10 @@ impl Node {
572596
loop {
573597
tokio::select! {
574598
_ = stop_bcast.changed() => {
599+
log_trace!(
600+
bcast_logger,
601+
"Stopping broadcasting node announcements.",
602+
);
575603
return;
576604
}
577605
_ = interval.tick() => {
@@ -628,13 +656,18 @@ impl Node {
628656

629657
let mut stop_tx_bcast = self.stop_sender.subscribe();
630658
let tx_bcaster = Arc::clone(&self.tx_broadcaster);
659+
let tx_bcast_logger = Arc::clone(&self.logger);
631660
runtime.spawn(async move {
632661
// Every second we try to clear our broadcasting queue.
633662
let mut interval = tokio::time::interval(Duration::from_secs(1));
634663
interval.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip);
635664
loop {
636665
tokio::select! {
637666
_ = stop_tx_bcast.changed() => {
667+
log_trace!(
668+
tx_bcast_logger,
669+
"Stopping broadcasting transactions.",
670+
);
638671
return;
639672
}
640673
_ = interval.tick() => {
@@ -677,11 +710,17 @@ impl Node {
677710
let background_error_logger = Arc::clone(&self.logger);
678711
let background_scorer = Arc::clone(&self.scorer);
679712
let stop_bp = self.stop_sender.subscribe();
713+
let sleeper_logger = Arc::clone(&self.logger);
680714
let sleeper = move |d| {
681715
let mut stop = stop_bp.clone();
716+
let sleeper_logger = Arc::clone(&sleeper_logger);
682717
Box::pin(async move {
683718
tokio::select! {
684719
_ = stop.changed() => {
720+
log_trace!(
721+
sleeper_logger,
722+
"Stopping processing events.",
723+
);
685724
true
686725
}
687726
_ = tokio::time::sleep(d) => {
@@ -691,6 +730,7 @@ impl Node {
691730
})
692731
};
693732

733+
let background_stop_logger = Arc::clone(&self.logger);
694734
runtime.spawn(async move {
695735
process_events_async(
696736
background_persister,
@@ -710,15 +750,21 @@ impl Node {
710750
log_error!(background_error_logger, "Failed to process events: {}", e);
711751
panic!("Failed to process events");
712752
});
753+
log_trace!(background_stop_logger, "Events processing stopped.",);
713754
});
714755

715756
if let Some(liquidity_source) = self.liquidity_source.as_ref() {
716757
let mut stop_liquidity_handler = self.stop_sender.subscribe();
717758
let liquidity_handler = Arc::clone(&liquidity_source);
759+
let liquidity_logger = Arc::clone(&self.logger);
718760
runtime.spawn(async move {
719761
loop {
720762
tokio::select! {
721763
_ = stop_liquidity_handler.changed() => {
764+
log_trace!(
765+
liquidity_logger,
766+
"Stopping processing liquidity events.",
767+
);
722768
return;
723769
}
724770
_ = liquidity_handler.handle_next_event() => {}

0 commit comments

Comments
 (0)