-
Notifications
You must be signed in to change notification settings - Fork 72
Expand file tree
/
Copy pathpbs.rs
More file actions
41 lines (34 loc) · 1.16 KB
/
pbs.rs
File metadata and controls
41 lines (34 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use cb_common::{
config::{load_pbs_config, LogsSettings, PBS_MODULE_NAME},
utils::{initialize_tracing_log, wait_for_signal},
};
use cb_pbs::{DefaultBuilderApi, PbsService, PbsState};
use clap::Parser;
use eyre::Result;
use tracing::{error, info};
#[tokio::main]
async fn main() -> Result<()> {
color_eyre::install()?;
// set default backtrace unless provided
if std::env::var_os("RUST_BACKTRACE").is_none() {
std::env::set_var("RUST_BACKTRACE", "1");
}
let _guard = initialize_tracing_log(PBS_MODULE_NAME, LogsSettings::from_env_config()?);
let _args = cb_cli::PbsArgs::parse();
let pbs_config = load_pbs_config().await?;
PbsService::init_metrics(pbs_config.chain)?;
let state = PbsState::new(pbs_config);
let server = PbsService::run::<_, DefaultBuilderApi>(state);
tokio::select! {
maybe_err = server => {
if let Err(err) = maybe_err {
error!(%err, "PBS service unexpectedly stopped");
eprintln!("PBS service unexpectedly stopped: {}", err);
}
},
_ = wait_for_signal() => {
info!("shutting down");
}
}
Ok(())
}