Skip to content

Commit d062439

Browse files
committed
Log shutdowns of background tasks
1 parent 3af3ddf commit d062439

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
@@ -267,6 +267,10 @@ impl Node {
267267
loop {
268268
tokio::select! {
269269
_ = stop_sync.changed() => {
270+
log_trace!(
271+
sync_logger,
272+
"Stopping background syncing on-chain wallet.",
273+
);
270274
return;
271275
}
272276
_ = onchain_wallet_sync_interval.tick() => {
@@ -313,6 +317,10 @@ impl Node {
313317
loop {
314318
tokio::select! {
315319
_ = stop_fee_updates.changed() => {
320+
log_trace!(
321+
fee_update_logger,
322+
"Stopping background updates of fee rate cache.",
323+
);
316324
return;
317325
}
318326
_ = fee_rate_update_interval.tick() => {
@@ -357,6 +365,10 @@ impl Node {
357365
loop {
358366
tokio::select! {
359367
_ = stop_sync.changed() => {
368+
log_trace!(
369+
sync_logger,
370+
"Stopping background syncing Lightning wallet.",
371+
);
360372
return;
361373
}
362374
_ = wallet_sync_interval.tick() => {
@@ -403,6 +415,10 @@ impl Node {
403415
loop {
404416
tokio::select! {
405417
_ = stop_gossip_sync.changed() => {
418+
log_trace!(
419+
gossip_sync_logger,
420+
"Stopping background syncing RGS gossip data.",
421+
);
406422
return;
407423
}
408424
_ = interval.tick() => {
@@ -478,6 +494,10 @@ impl Node {
478494
let peer_mgr = Arc::clone(&peer_manager_connection_handler);
479495
tokio::select! {
480496
_ = stop_listen.changed() => {
497+
log_trace!(
498+
listening_logger,
499+
"Stopping listening to inbound connections.",
500+
);
481501
break;
482502
}
483503
res = listener.accept() => {
@@ -510,6 +530,10 @@ impl Node {
510530
loop {
511531
tokio::select! {
512532
_ = stop_connect.changed() => {
533+
log_trace!(
534+
connect_logger,
535+
"Stopping reconnecting known peers.",
536+
);
513537
return;
514538
}
515539
_ = interval.tick() => {
@@ -552,6 +576,10 @@ impl Node {
552576
loop {
553577
tokio::select! {
554578
_ = stop_bcast.changed() => {
579+
log_trace!(
580+
bcast_logger,
581+
"Stopping broadcasting node announcements.",
582+
);
555583
return;
556584
}
557585
_ = interval.tick() => {
@@ -608,13 +636,18 @@ impl Node {
608636

609637
let mut stop_tx_bcast = self.stop_sender.subscribe();
610638
let tx_bcaster = Arc::clone(&self.tx_broadcaster);
639+
let tx_bcast_logger = Arc::clone(&self.logger);
611640
runtime.spawn(async move {
612641
// Every second we try to clear our broadcasting queue.
613642
let mut interval = tokio::time::interval(Duration::from_secs(1));
614643
interval.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip);
615644
loop {
616645
tokio::select! {
617646
_ = stop_tx_bcast.changed() => {
647+
log_trace!(
648+
tx_bcast_logger,
649+
"Stopping broadcasting transactions.",
650+
);
618651
return;
619652
}
620653
_ = interval.tick() => {
@@ -656,11 +689,17 @@ impl Node {
656689
let background_error_logger = Arc::clone(&self.logger);
657690
let background_scorer = Arc::clone(&self.scorer);
658691
let stop_bp = self.stop_sender.subscribe();
692+
let sleeper_logger = Arc::clone(&self.logger);
659693
let sleeper = move |d| {
660694
let mut stop = stop_bp.clone();
695+
let sleeper_logger = Arc::clone(&sleeper_logger);
661696
Box::pin(async move {
662697
tokio::select! {
663698
_ = stop.changed() => {
699+
log_trace!(
700+
sleeper_logger,
701+
"Stopping processing events.",
702+
);
664703
true
665704
}
666705
_ = tokio::time::sleep(d) => {
@@ -670,6 +709,7 @@ impl Node {
670709
})
671710
};
672711

712+
let background_stop_logger = Arc::clone(&self.logger);
673713
runtime.spawn(async move {
674714
process_events_async(
675715
background_persister,
@@ -689,15 +729,21 @@ impl Node {
689729
log_error!(background_error_logger, "Failed to process events: {}", e);
690730
panic!("Failed to process events");
691731
});
732+
log_trace!(background_stop_logger, "Events processing stopped.",);
692733
});
693734

694735
if let Some(liquidity_source) = self.liquidity_source.as_ref() {
695736
let mut stop_liquidity_handler = self.stop_sender.subscribe();
696737
let liquidity_handler = Arc::clone(&liquidity_source);
738+
let liquidity_logger = Arc::clone(&self.logger);
697739
runtime.spawn(async move {
698740
loop {
699741
tokio::select! {
700742
_ = stop_liquidity_handler.changed() => {
743+
log_trace!(
744+
liquidity_logger,
745+
"Stopping processing liquidity events.",
746+
);
701747
return;
702748
}
703749
_ = liquidity_handler.handle_next_event() => {}

0 commit comments

Comments
 (0)