mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 09:45:31 +00:00
http: quit if any worker thread quits
This commit is contained in:
parent
4ca73630c4
commit
d7e06468c3
8 changed files with 151 additions and 145 deletions
|
|
@ -3,11 +3,11 @@ pub mod config;
|
|||
pub mod workers;
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
use std::fmt::Display;
|
||||
use std::thread::{sleep, Builder, JoinHandle};
|
||||
use std::time::Duration;
|
||||
|
||||
use anyhow::Context;
|
||||
use aquatic_common::WorkerType;
|
||||
use crossbeam_channel::{bounded, unbounded};
|
||||
use signal_hook::consts::SIGUSR1;
|
||||
use signal_hook::iterator::Signals;
|
||||
|
|
@ -233,25 +233,3 @@ pub fn run(config: Config) -> ::anyhow::Result<()> {
|
|||
sleep(Duration::from_secs(5));
|
||||
}
|
||||
}
|
||||
|
||||
enum WorkerType {
|
||||
Swarm(usize),
|
||||
Socket(usize),
|
||||
Statistics,
|
||||
Signals,
|
||||
#[cfg(feature = "prometheus")]
|
||||
Prometheus,
|
||||
}
|
||||
|
||||
impl Display for WorkerType {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
match self {
|
||||
Self::Swarm(index) => f.write_fmt(format_args!("Swarm worker {}", index + 1)),
|
||||
Self::Socket(index) => f.write_fmt(format_args!("Socket worker {}", index + 1)),
|
||||
Self::Statistics => f.write_str("Statistics worker"),
|
||||
Self::Signals => f.write_str("Signals worker"),
|
||||
#[cfg(feature = "prometheus")]
|
||||
Self::Prometheus => f.write_str("Prometheus worker"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue