Skip to content

Commit 6f6262e

Browse files
committed
Log shutdowns of background tasks
1 parent ccfcf1b commit 6f6262e

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
@@ -270,6 +270,10 @@ impl Node {
270270
loop {
271271
tokio::select! {
272272
_ = stop_sync.changed() => {
273+
log_trace!(
274+
sync_logger,
275+
"Stopping background syncing on-chain wallet.",
276+
);
273277
return;
274278
}
275279
_ = onchain_wallet_sync_interval.tick() => {
@@ -316,6 +320,10 @@ impl Node {
316320
loop {
317321
tokio::select! {
318322
_ = stop_fee_updates.changed() => {
323+
log_trace!(
324+
fee_update_logger,
325+
"Stopping background updates of fee rate cache.",
326+
);
319327
return;
320328
}
321329
_ = fee_rate_update_interval.tick() => {
@@ -363,6 +371,10 @@ impl Node {
363371
loop {
364372
tokio::select! {
365373
_ = stop_sync.changed() => {
374+
log_trace!(
375+
sync_logger,
376+
"Stopping background syncing Lightning wallet.",
377+
);
366378
return;
367379
}
368380
_ = wallet_sync_interval.tick() => {
@@ -415,6 +427,10 @@ impl Node {
415427
loop {
416428
tokio::select! {
417429
_ = stop_gossip_sync.changed() => {
430+
log_trace!(
431+
gossip_sync_logger,
432+
"Stopping background syncing RGS gossip data.",
433+
);
418434
return;
419435
}
420436
_ = interval.tick() => {
@@ -490,6 +506,10 @@ impl Node {
490506
let peer_mgr = Arc::clone(&peer_manager_connection_handler);
491507
tokio::select! {
492508
_ = stop_listen.changed() => {
509+
log_trace!(
510+
listening_logger,
511+
"Stopping listening to inbound connections.",
512+
);
493513
break;
494514
}
495515
res = listener.accept() => {
@@ -522,6 +542,10 @@ impl Node {
522542
loop {
523543
tokio::select! {
524544
_ = stop_connect.changed() => {
545+
log_trace!(
546+
connect_logger,
547+
"Stopping reconnecting known peers.",
548+
);
525549
return;
526550
}
527551
_ = interval.tick() => {
@@ -567,6 +591,10 @@ impl Node {
567591
loop {
568592
tokio::select! {
569593
_ = stop_bcast.changed() => {
594+
log_trace!(
595+
bcast_logger,
596+
"Stopping broadcasting node announcements.",
597+
);
570598
return;
571599
}
572600
_ = interval.tick() => {
@@ -623,13 +651,18 @@ impl Node {
623651

624652
let mut stop_tx_bcast = self.stop_sender.subscribe();
625653
let tx_bcaster = Arc::clone(&self.tx_broadcaster);
654+
let tx_bcast_logger = Arc::clone(&self.logger);
626655
runtime.spawn(async move {
627656
// Every second we try to clear our broadcasting queue.
628657
let mut interval = tokio::time::interval(Duration::from_secs(1));
629658
interval.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip);
630659
loop {
631660
tokio::select! {
632661
_ = stop_tx_bcast.changed() => {
662+
log_trace!(
663+
tx_bcast_logger,
664+
"Stopping broadcasting transactions.",
665+
);
633666
return;
634667
}
635668
_ = interval.tick() => {
@@ -672,11 +705,17 @@ impl Node {
672705
let background_error_logger = Arc::clone(&self.logger);
673706
let background_scorer = Arc::clone(&self.scorer);
674707
let stop_bp = self.stop_sender.subscribe();
708+
let sleeper_logger = Arc::clone(&self.logger);
675709
let sleeper = move |d| {
676710
let mut stop = stop_bp.clone();
711+
let sleeper_logger = Arc::clone(&sleeper_logger);
677712
Box::pin(async move {
678713
tokio::select! {
679714
_ = stop.changed() => {
715+
log_trace!(
716+
sleeper_logger,
717+
"Stopping processing events.",
718+
);
680719
true
681720
}
682721
_ = tokio::time::sleep(d) => {
@@ -686,6 +725,7 @@ impl Node {
686725
})
687726
};
688727

728+
let background_stop_logger = Arc::clone(&self.logger);
689729
runtime.spawn(async move {
690730
process_events_async(
691731
background_persister,
@@ -705,15 +745,21 @@ impl Node {
705745
log_error!(background_error_logger, "Failed to process events: {}", e);
706746
panic!("Failed to process events");
707747
});
748+
log_trace!(background_stop_logger, "Events processing stopped.",);
708749
});
709750

710751
if let Some(liquidity_source) = self.liquidity_source.as_ref() {
711752
let mut stop_liquidity_handler = self.stop_sender.subscribe();
712753
let liquidity_handler = Arc::clone(&liquidity_source);
754+
let liquidity_logger = Arc::clone(&self.logger);
713755
runtime.spawn(async move {
714756
loop {
715757
tokio::select! {
716758
_ = stop_liquidity_handler.changed() => {
759+
log_trace!(
760+
liquidity_logger,
761+
"Stopping processing liquidity events.",
762+
);
717763
return;
718764
}
719765
_ = liquidity_handler.handle_next_event() => {}

0 commit comments

Comments
 (0)