ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Flujos de trabajo
  3. Agent Search Herramienta Health Verificar
Flujo de trabajo

Agent Search Herramienta Health Verificar

Automatizado cron ese prueba cada agent search herramienta endpoint, valida respuestas, measures latencia, y alertas on failures o degradation.

Comenzar gratisDocumentacion API

Resumen

Este flujo de trabajo ejecuta on un cron programar to probar cada search herramienta your agents depend on. It envia known-good consultas to cada plataforma, valida el respuesta esquema, measures latencia, y fires alertas cuando un herramienta degrades o fails. El meta es to catch herramienta failures antes de your agents do, so usuarios never experience un broken search fallback.

Desencadenador

Cron programar (cada hora)

Programación

Ejecuta cada hora via cron

Pasos del flujo de trabajo

1

Define probar fixtures

Cargar un establecer of known-good consultas for cada plataforma ese deberia always return resultados.

2

Ejecutar verificaciones de estado

Call el Scavio API for cada plataforma con el probar consulta y registro estado code, latencia, y resultado conteo.

3

Validar respuesta esquema

Verificar ese requerido campos (organic, estado) exist y ese resultado counts son above zero for known-good consultas.

4

Comparar contra umbrales

Marcar cualquier herramienta donde latencia exceeds 5 segundos, resultado conteo es zero, o estado code es no 200.

5

Enviar alerta on degradation

Push un formatted alerta to Slack o PagerDuty con el degraded herramienta nombre, failure tipo, y marca de tiempo.

6

Log resultados for trending

Agregar resultados to un JSON registro for historico latencia y disponibilidad trending.

Implementacion en Python

Python
import requests
import json
import time
from pathlib import Path
from datetime import datetime

API_KEY = "your_scavio_api_key"
SLACK_WEBHOOK = "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"

HEALTH_CHECKS = {
    "google": "python programming",
    "youtube": "coding tutorial",
    "amazon": "bluetooth headphones",
    "walmart": "paper towels",
    "reddit": "programming advice",
}

LATENCY_THRESHOLD_MS = 5000

def check_platform(platform: str, query: str) -> dict:
    start = time.time()
    try:
        res = requests.post(
            "https://api.scavio.dev/api/v1/search",
            headers={"x-api-key": API_KEY},
            json={"platform": platform, "query": query},
            timeout=15,
        )
        latency_ms = int((time.time() - start) * 1000)
        if res.status_code != 200:
            return {"platform": platform, "status": "error", "code": res.status_code, "latency_ms": latency_ms}
        data = res.json()
        result_count = len(data.get("organic", []))
        healthy = result_count > 0 and latency_ms < LATENCY_THRESHOLD_MS
        return {
            "platform": platform,
            "status": "healthy" if healthy else "degraded",
            "result_count": result_count,
            "latency_ms": latency_ms,
        }
    except requests.exceptions.Timeout:
        return {"platform": platform, "status": "timeout", "latency_ms": 15000}
    except Exception as e:
        return {"platform": platform, "status": "exception", "error": str(e)}

def send_alert(unhealthy: list[dict]):
    message = f"Search Tool Health Alert - {len(unhealthy)} tools degraded:\n"
    for item in unhealthy:
        message += f"  {item['platform']}: {item['status']} (latency: {item.get('latency_ms', 'N/A')}ms)\n"
    requests.post(SLACK_WEBHOOK, json={"text": message}, timeout=10)

def run():
    results = []
    for platform, query in HEALTH_CHECKS.items():
        result = check_platform(platform, query)
        results.append(result)

    unhealthy = [r for r in results if r["status"] != "healthy"]
    if unhealthy:
        send_alert(unhealthy)
        print(f"ALERT: {len(unhealthy)} tools degraded")
    else:
        print(f"All {len(results)} tools healthy")

    # Log for historical trending
    log_path = Path("health_log.jsonl")
    with log_path.open("a") as f:
        f.write(json.dumps({"timestamp": datetime.utcnow().isoformat(), "results": results}) + "\n")

if __name__ == "__main__":
    run()

Implementacion en JavaScript

JavaScript
const API_KEY = "your_scavio_api_key";
const SLACK_WEBHOOK = "https://hooks.slack.com/services/YOUR/WEBHOOK/URL";

const HEALTH_CHECKS = {
  google: "python programming",
  youtube: "coding tutorial",
  amazon: "bluetooth headphones",
  walmart: "paper towels",
  reddit: "programming advice",
};

const LATENCY_THRESHOLD_MS = 5000;

async function checkPlatform(platform, query) {
  const start = Date.now();
  try {
    const controller = new AbortController();
    const timeout = setTimeout(() => controller.abort(), 15000);
    const res = await fetch("https://api.scavio.dev/api/v1/search", {
      method: "POST",
      headers: { "x-api-key": API_KEY, "content-type": "application/json" },
      body: JSON.stringify({ platform, query }),
      signal: controller.signal,
    });
    clearTimeout(timeout);
    const latencyMs = Date.now() - start;
    if (!res.ok) return { platform, status: "error", code: res.status, latencyMs };
    const data = await res.json();
    const resultCount = (data.organic ?? []).length;
    const healthy = resultCount > 0 && latencyMs < LATENCY_THRESHOLD_MS;
    return { platform, status: healthy ? "healthy" : "degraded", resultCount, latencyMs };
  } catch (err) {
    return { platform, status: err.name === "AbortError" ? "timeout" : "exception", latencyMs: Date.now() - start };
  }
}

async function sendAlert(unhealthy) {
  const message = `Search Tool Health Alert - ${unhealthy.length} tools degraded:\n` +
    unhealthy.map((i) => `  ${i.platform}: ${i.status} (latency: ${i.latencyMs ?? "N/A"}ms)`).join("\n");
  await fetch(SLACK_WEBHOOK, {
    method: "POST",
    headers: { "content-type": "application/json" },
    body: JSON.stringify({ text: message }),
  });
}

async function run() {
  const results = await Promise.all(
    Object.entries(HEALTH_CHECKS).map(([platform, query]) => checkPlatform(platform, query))
  );

  const unhealthy = results.filter((r) => r.status !== "healthy");
  if (unhealthy.length) {
    await sendAlert(unhealthy);
    console.log(`ALERT: ${unhealthy.length} tools degraded`);
  } else {
    console.log(`All ${results.length} tools healthy`);
  }

  // Log for historical trending
  const fs = await import("fs/promises");
  const entry = JSON.stringify({ timestamp: new Date().toISOString(), results }) + "\n";
  await fs.appendFile("health_log.jsonl", entry);
}

run();

Plataformas utilizadas

Google

Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA

YouTube

Búsqueda de videos con transcripciones y metadatos

Amazon

Búsqueda de productos con precios, calificaciones y reseñas

Walmart

Búsqueda de productos con precios y datos de cumplimiento

Reddit

Comunidad, publicaciones y comentarios en hilos de cualquier subreddit

Preguntas frecuentes

Este flujo de trabajo ejecuta on un cron programar to probar cada search herramienta your agents depend on. It envia known-good consultas to cada plataforma, valida el respuesta esquema, measures latencia, y fires alertas cuando un herramienta degrades o fails. El meta es to catch herramienta failures antes de your agents do, so usuarios never experience un broken search fallback.

Este flujo de trabajo usa un cron programar (cada hora). Ejecuta cada hora via cron.

Este flujo de trabajo usa las siguientes plataformas de Scavio: google, youtube, amazon, walmart, reddit. Cada plataforma se llama a traves del mismo endpoint de API unificado.

Si. El plan gratuito de Scavio incluye 50 creditos al registrarte sin tarjeta de credito. Es suficiente para probar y validar este flujo de trabajo antes de escalarlo.

Agent Search Herramienta Health Verificar

Automatizado cron ese prueba cada agent search herramienta endpoint, valida respuestas, measures latencia, y alertas on failures o degradation.

Obtener tu clave APILeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad