Skip to content

Commit 400efe5

Browse files
committed
Log shutdowns of background tasks
1 parent 3e13c98 commit 400efe5

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() => {
@@ -555,6 +579,10 @@ impl Node {
555579
loop {
556580
tokio::select! {
557581
_ = stop_bcast.changed() => {
582+
log_trace!(
583+
bcast_logger,
584+
"Stopping broadcasting node announcements.",
585+
);
558586
return;
559587
}
560588
_ = interval.tick() => {
@@ -611,13 +639,18 @@ impl Node {
611639

612640
let mut stop_tx_bcast = self.stop_sender.subscribe();
613641
let tx_bcaster = Arc::clone(&self.tx_broadcaster);
642+
let tx_bcast_logger = Arc::clone(&self.logger);
614643
runtime.spawn(async move {
615644
// Every second we try to clear our broadcasting queue.
616645
let mut interval = tokio::time::interval(Duration::from_secs(1));
617646
interval.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip);
618647
loop {
619648
tokio::select! {
620649
_ = stop_tx_bcast.changed() => {
650+
log_trace!(
651+
tx_bcast_logger,
652+
"Stopping broadcasting transactions.",
653+
);
621654
return;
622655
}
623656
_ = interval.tick() => {
@@ -660,11 +693,17 @@ impl Node {
660693
let background_error_logger = Arc::clone(&self.logger);
661694
let background_scorer = Arc::clone(&self.scorer);
662695
let stop_bp = self.stop_sender.subscribe();
696+
let sleeper_logger = Arc::clone(&self.logger);
663697
let sleeper = move |d| {
664698
let mut stop = stop_bp.clone();
699+
let sleeper_logger = Arc::clone(&sleeper_logger);
665700
Box::pin(async move {
666701
tokio::select! {
667702
_ = stop.changed() => {
703+
log_trace!(
704+
sleeper_logger,
705+
"Stopping processing events.",
706+
);
668707
true
669708
}
670709
_ = tokio::time::sleep(d) => {
@@ -674,6 +713,7 @@ impl Node {
674713
})
675714
};
676715

716+
let background_stop_logger = Arc::clone(&self.logger);
677717
runtime.spawn(async move {
678718
process_events_async(
679719
background_persister,
@@ -693,15 +733,21 @@ impl Node {
693733
log_error!(background_error_logger, "Failed to process events: {}", e);
694734
panic!("Failed to process events");
695735
});
736+
log_trace!(background_stop_logger, "Events processing stopped.",);
696737
});
697738

698739
if let Some(liquidity_source) = self.liquidity_source.as_ref() {
699740
let mut stop_liquidity_handler = self.stop_sender.subscribe();
700741
let liquidity_handler = Arc::clone(&liquidity_source);
742+
let liquidity_logger = Arc::clone(&self.logger);
701743
runtime.spawn(async move {
702744
loop {
703745
tokio::select! {
704746
_ = stop_liquidity_handler.changed() => {
747+
log_trace!(
748+
liquidity_logger,
749+
"Stopping processing liquidity events.",
750+
);
705751
return;
706752
}
707753
_ = liquidity_handler.handle_next_event() => {}

0 commit comments

Comments
 (0)