-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
performancePerformance optimizationPerformance optimization
Description
Problem
Embedding calls have no timeout, relying on HTTP client defaults (30-60s). Slow/failed requests block skill matching indefinitely.
Files:
crates/zeph-core/src/agent/context.rslines 632-642crates/zeph-skills/src/matcher.rslines 22-32
Current code:
let fut = embed_fn(&skill.description); // No timeoutImpact
- User-visible latency spike during network issues
- Skill matching can hang for 30-60 seconds
Solution
use tokio::time::{timeout, Duration};
let fut = timeout(Duration::from_secs(10), embed_fn(&skill.description));
match fut.await {
Ok(Ok(vec)) => Some((i, vec)),
Ok(Err(e)) => { tracing::warn!("embed failed: {e:#}"); None }
Err(_) => { tracing::warn!("embed timeout"); None }
}Priority: P2
Effort: Small (1 hour)
Related to #391
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
performancePerformance optimizationPerformance optimization