diff --git a/apps/monitor/src/runner.rs b/apps/monitor/src/runner.rs index 3c58d67..f33de13 100644 --- a/apps/monitor/src/runner.rs +++ b/apps/monitor/src/runner.rs @@ -192,7 +192,12 @@ async fn run_curl( cmd.arg(url); - let output = cmd.output().await.map_err(|e| format!("curl exec error: {e}"))?; + let output = tokio::time::timeout( + std::time::Duration::from_secs_f64(timeout_secs + 2.0), + cmd.output() + ).await + .map_err(|_| format!("timed out after {:.0}s", timeout_secs))? + .map_err(|e| format!("curl exec error: {e}"))?; if !output.status.success() { let stderr = String::from_utf8_lossy(&output.stderr).to_string();