fix: wrap curl output() in tokio timeout in case process hangs on stdout
This commit is contained in:
parent
554d95cfb4
commit
79bf7d9295
|
|
@ -192,7 +192,12 @@ async fn run_curl(
|
||||||
|
|
||||||
cmd.arg(url);
|
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() {
|
if !output.status.success() {
|
||||||
let stderr = String::from_utf8_lossy(&output.stderr).to_string();
|
let stderr = String::from_utf8_lossy(&output.stderr).to_string();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue