• /
  • EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Tutorial de NerdGraph: Ejecute la consulta NRQL de forma asincrónica

Puede utilizar NerdGraph para ejecutar NRQL consulta. Además, también puedes utilizar NerdGraph para ejecutar una consulta NRQL asincrónica. Las consultas asincrónicas se ejecutan en segundo plano y puede realizar solicitudes de seguimiento para recuperar los resultados de la consulta o el estado de la consulta. Este tipo de consulta evita que una consulta se vea interrumpida por problemas como tiempos de espera browser o tiempos de espera de la conexión HTTP. Es especialmente útil para ejecutar consultas que pueden tardar mucho en completarse.

Requisitos

Si tiene Data Plus, puede ejecutar una consulta asincrónica con una duración máxima de 10 minutos utilizando NerdGraph o la UI de usuario del generador de consultas.

Para obtener más información sobre los límites de consulta, consulte límites de consulta.

Ejemplo de consulta asincrónica

A continuación se muestra un ejemplo de una consulta asincrónica llamada NerdGraph. El async: true es lo que hace que la consulta sea asincrónica. Esta consulta arrojará resultados si se completa dentro del tiempo de espera predeterminado de 5 segundos; de lo contrario, devolverá datos queryProgress para su uso en consultas de seguimiento al campo nrqlQueryProgress .

{
actor {
account(id: YOUR_ACCOUNT_ID) {
nrql(query: "SELECT * FROM Transaction", async: true) {
results
queryProgress {
queryId
completed
retryAfter
retryDeadline
resultExpiration
}
}
}
}
}

Obtener los resultados o el estado de una consulta asíncrona

Si su consulta excede el tiempo de espera predeterminado, devolverá un ID de consulta. Puede tomar esa identificación y ejecutar una segunda consulta para obtener los resultados de la consulta, si finalizó, o el estado de esa consulta.

{
actor {
account(id: YOUR_ACCOUNT_ID) {
nrqlQueryProgress(queryId: "YOUR_QUERY_ID") {
results
queryProgress {
queryId
completed
retryAfter
retryDeadline
resultExpiration
}
}
}
}
}

Algunos detalles importantes sobre esta consulta:

  • El queryId proviene de los datos queryProgress devueltos por la consulta asincrónica original.
  • El argumento account debe coincidir con el argumento account de la consulta original.
  • Esta consulta devolverá resultados si se ha completado la ejecución asincrónica; de lo contrario, devolverá queryProgress datos.
  • La consulta se puede repetir palabra por palabra hasta que se devuelvan resultados o un error.
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.