use std::env; mod identity; mod member; mod site; #[tokio::main] async fn main() -> Result<(), Box> { let url_broker = match env::var_os("URL_BROKER") { Some(v) => v.into_string().unwrap(), None => "".to_string(), }; let queue_broker = match env::var_os("QUEUE_BROKER") { Some(v) => v.into_string().unwrap(), None => "".to_string(), }; let broker_opts = nats::asynk::Options::new(); let connection_broker = broker_opts.connect(url_broker).await?; let site_service = site::service::Service::new(connection_broker.clone(), queue_broker.clone()); let identity_service = identity::service::Service::new(connection_broker.clone(), queue_broker.clone()); let member_service = member::service::Service::new(connection_broker.clone(), queue_broker.clone()); println!("Server edge[beteran-backend-server-edge] is started"); futures::try_join!( site_service.subscribe(), identity_service.subscribe(), member_service.subscribe() )?; Ok(()) }