Print all running tasks periodically
This commit is contained in:
parent
d1ad2c7d51
commit
414b2c5f65
1 changed files with 19 additions and 6 deletions
|
|
@ -6,12 +6,25 @@ pub fn spawn(
|
|||
) -> tokio::task::JoinHandle<()> {
|
||||
let fut = async move {
|
||||
trace!("started");
|
||||
match fut.await {
|
||||
Ok(_) => {
|
||||
trace!("finished");
|
||||
}
|
||||
Err(e) => {
|
||||
error!("finished with error: {:#}", e)
|
||||
tokio::pin!(fut);
|
||||
let mut trace_interval = tokio::time::interval(std::time::Duration::from_secs(5));
|
||||
|
||||
loop {
|
||||
tokio::select! {
|
||||
_ = trace_interval.tick() => {
|
||||
trace!("still running");
|
||||
},
|
||||
r = &mut fut => {
|
||||
match r {
|
||||
Ok(_) => {
|
||||
trace!("finished");
|
||||
}
|
||||
Err(e) => {
|
||||
error!("finished with error: {:#}", e)
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue