backend redesign
This commit is contained in:
47
relay/src/main.rs
Normal file
47
relay/src/main.rs
Normal file
@@ -0,0 +1,47 @@
|
||||
mod config;
|
||||
mod relay;
|
||||
mod proto;
|
||||
|
||||
use anyhow::Result;
|
||||
use config::Config;
|
||||
use relay::Relay;
|
||||
use tracing::{info, error};
|
||||
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {
|
||||
// Initialize tracing
|
||||
tracing_subscriber::registry()
|
||||
.with(
|
||||
tracing_subscriber::EnvFilter::try_from_default_env()
|
||||
.unwrap_or_else(|_| "relay=info".into()),
|
||||
)
|
||||
.with(tracing_subscriber::fmt::layer())
|
||||
.init();
|
||||
|
||||
info!("Starting Stateless ZMQ Relay Gateway");
|
||||
info!("Architecture: Async event-driven with pub/sub notifications");
|
||||
|
||||
// Load configuration
|
||||
let config = Config::from_env()?;
|
||||
info!("Configuration loaded: {:?}", config);
|
||||
|
||||
// Create and run stateless relay
|
||||
let relay = Relay::new(config)?;
|
||||
|
||||
// Handle shutdown signals
|
||||
tokio::select! {
|
||||
result = relay.run() => {
|
||||
match result {
|
||||
Ok(_) => info!("Relay stopped gracefully"),
|
||||
Err(e) => error!("Relay error: {}", e),
|
||||
}
|
||||
}
|
||||
_ = tokio::signal::ctrl_c() => {
|
||||
info!("Received shutdown signal");
|
||||
}
|
||||
}
|
||||
|
||||
info!("ZMQ Relay Gateway stopped");
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user