diff options
author | Toby Vincent <tobyv@tobyvin.dev> | 2024-10-01 13:15:24 -0500 |
---|---|---|
committer | Toby Vincent <tobyv@tobyvin.dev> | 2024-10-01 13:15:24 -0500 |
commit | fe16a923190243dfde5db6ceff2ef0bcf9158926 (patch) | |
tree | 9b8b616e1972ca3ef6e28d29c980899af3ddde49 /src/service/systemd.rs | |
parent | e1d9c956beb6921b0d549248bea3a6853fde5f46 (diff) |
feat: simplify service status type
Diffstat (limited to 'src/service/systemd.rs')
-rw-r--r-- | src/service/systemd.rs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/service/systemd.rs b/src/service/systemd.rs index 90213a0..ee220b8 100644 --- a/src/service/systemd.rs +++ b/src/service/systemd.rs @@ -21,17 +21,14 @@ impl ServiceSpawner for Systemd { loop { interval.tick().await; - let status = match command.output() { - Ok(output) if output.status.success() => Status::Pass, - Ok(output) => { - let stdout = String::from_utf8_lossy(&output.stdout).trim().to_string(); - Status::Fail(Some(format!("Service state: {}", stdout))) + let status = command.output().map_or_else(Into::into, |o| { + if o.status.success() { + Status::Ok + } else { + let stdout = String::from_utf8_lossy(&o.stdout).trim().to_string(); + Status::Error(Some(format!("Service state: {}", stdout))) } - Err(err) => { - tracing::error!("Failed to spawn process: {err}"); - Status::Unknown - } - }; + }); tx.send_if_modified(|s| s.update(status)); } |