Stage 3: dtrack-http nutzt shared_client (Vorbereitung Live-Reload)
CI / test (push) Successful in 11m56s
CI / test (push) Successful in 11m56s
This commit is contained in:
@@ -11,7 +11,7 @@ use axum::{
|
|||||||
Router,
|
Router,
|
||||||
};
|
};
|
||||||
use dtrack_core::{DtrackClient, DtrackConfig};
|
use dtrack_core::{DtrackClient, DtrackConfig};
|
||||||
use dtrack_tools::DtrackServer;
|
use dtrack_tools::{shared_client, DtrackServer};
|
||||||
use rmcp::transport::streamable_http_server::{
|
use rmcp::transport::streamable_http_server::{
|
||||||
session::local::LocalSessionManager, StreamableHttpService,
|
session::local::LocalSessionManager, StreamableHttpService,
|
||||||
};
|
};
|
||||||
@@ -79,9 +79,12 @@ async fn main() -> Result<()> {
|
|||||||
let cfg = DtrackConfig::resolve()?;
|
let cfg = DtrackConfig::resolve()?;
|
||||||
let client = DtrackClient::from_config(&cfg)?;
|
let client = DtrackClient::from_config(&cfg)?;
|
||||||
|
|
||||||
// Pro Session ein frischer DtrackServer; der Client wird nur geklont (billig).
|
// Laufzeit-austauschbarer Client-Handle (Admin-UI kann ihn spaeter neu bauen).
|
||||||
|
let shared = shared_client(client);
|
||||||
|
|
||||||
|
// Pro Session ein frischer DtrackServer; der Handle wird nur geklont (Arc).
|
||||||
let mcp_service = StreamableHttpService::new(
|
let mcp_service = StreamableHttpService::new(
|
||||||
move || Ok(DtrackServer::new(client.clone())),
|
move || Ok(DtrackServer::new(shared.clone())),
|
||||||
LocalSessionManager::default().into(),
|
LocalSessionManager::default().into(),
|
||||||
Default::default(),
|
Default::default(),
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user