Solución de problemas

Parte del síntoma: un módulo responde 404, un release nunca queda listo, un trabajo espera o se detiene, se rechaza el acceso o dejan de llegar eventos.

  • Disponibilidad: Planificado
  • Evidencia: Leído del código fuente
  • Guía práctica

Cómo usar esta página

Busca tu síntoma, haz las comprobaciones seguras y luego sigue la recuperación. Todas las comprobaciones de esta página son lecturas: ningún GET inicia trabajo, así que no puedes empeorar nada por mirar. Nada de lo que dice esta página te pide eliminar una aplicación, volver a publicar un paquete ni reintentar a ciegas después de un tiempo de espera agotado.

Ten a mano los identificadores: la aplicación, el release y su number, el trabajo, y la URL exacta con su consulta.

Un módulo responde 404

Código Causa Recuperación
OUTPUT_NOT_AVAILABLE El CDN conoce el módulo y no tiene esta salida. El conjunto de opciones no se preparó, o el recurso no está declarado. Compara tu consulta con la consulta canónica con la que se preparó tu release. Prepara un release que incluya la salida. Recargar no ayuda.
MODULE_NOT_FOUND La subruta no es un módulo público de esa versión del paquete Revisa los módulos públicos del paquete. Un archivo interno no se puede direccionar.
VERSION_MISMATCH El paquete se conoce en otra versión Lee la resolución de tu release para ver la versión fijada
PACKAGE_NOT_FOUND El paquete no forma parte de nada que el servicio tenga Revisa el nombre y el prefijo del registro

Si la misma URL funciona en tu Dev Server y no en el CDN, eso es lo esperado para una salida que falta: el Dev Server compila al solicitar y el CDN nunca lo hace. Consulta La misma URL, en local y en el CDN.

Una solicitud responde 400

OPTION_INVALID significa que la consulta está mal: un valor mal escrito, una opción repetida o desconocida, un target o un format que falta, o cualquier consulta en un recurso estático. OPTION_UNSUPPORTED significa que la consulta está bien y que este servicio nunca produce esa salida. En un Dev Server la causa habitual es omitir env=development&min=false. Consulta Opciones de la solicitud.

Un release nunca queda listo

Lee el release, y luego su trabajo y su inventario.

Qué encuentras Significado Recuperación
Trabajo failed con DYNAMIC_IMPORT_UNKNOWN; counts.unknown del inventario mayor que cero Un import dinámico tiene un destino que el rastreo estático no puede determinar Registra de nuevo con un miembro declared que enumere, para el módulo público que importa, los módulos públicos que puede cargar. Si el paquete es tuyo, puedes poner la misma declaración en su manifiesto de módulo y publicar una versión nueva.
BUILD_FAILED con diagnósticos Un módulo no compila Corrige la fuente. Los errores de compilación se informan en todos los planes.
CLOSURE_INCOMPLETE Una salida requerida falta, falló o no se puede obtener Busca en el inventario los elementos en estado failed o limit_exceeded
INTEGRITY_MISMATCH Un archivo descargado no coincide con la integridad fijada No lo fuerces. Revisa el registro y registra de nuevo.
RESOLUTION_FAILED No se pudo fijar el grafo Lee el mensaje: una versión que no existe, rangos en conflicto o un peer sin satisfacer. Ajusta las selecciones o los overrides.
UPSTREAM_UNAVAILABLE Un registro no respondió para una entrada que no estaba en caché Intenta el registro o la preparación más tarde, con el mismo Idempotency-Key si es posible que la primera solicitud se haya aceptado

En todos los casos el release activo no cambia, y tu sitio lo sigue sirviendo.

Un trabajo espera mucho tiempo

queued y waiting_turn son normales en el plan gratuito: los trabajos comparten una cola sin SLA, y cada aplicación trabaja en turnos cortos. queue.position y turns del trabajo te indican dónde está. Cerrar la pestaña no cambia nada; el trabajo no depende de ella.

Un trabajo termina en limit_exceeded

Un módulo no pudo terminar dentro del presupuesto de ejecución del plan. No se reintenta automáticamente, porque fallaría de la misma manera. Reduce lo que ese módulo público incorpora, o solicita ejecución premium mediante la lista de espera.

Una solicitud es rechazada

Respuesta Significado
401 UNAUTHENTICATED La solicitud de administración no tiene una sesión válida
403 FORBIDDEN Puedes ver el recurso, y tu rol no tiene la capacidad. Consulta la tabla de capacidades.
404 NOT_FOUND en algo que esperabas encontrar Es posible que no debas saber que existe. Comprueba que estás en la organización correcta.
403 ENTITLEMENT_REQUIRED El plan no incluye la capacidad indicada en details.entitlement
402 CREDIT_INSUFFICIENT, 503 BUDGET_EXHAUSTED La admisión rechazó el trabajo. No se inició nada y no se cobró nada.
409 CONFLICT_VERSION Alguien cambió el recurso primero. Léelo de nuevo; no reenvíes con el número nuevo sin mirar.
401 ACCESS_REQUIRED, 403 ACCESS_DENIED en la entrega La aplicación es privada. 401 significa que no hay cookie de acceso, o que el permiso se agotó: haz el canje de nuevo. 403 significa que el permiso fue revocado o pertenece a otra aplicación. Consulta Acceso privado.
501 NOT_IMPLEMENTED La operación está en el contrato y esta instancia del servicio no monta su área; details.operation la nombra. Reintentar no ayuda.

Después de un tiempo de espera agotado, no sabes si funcionó

Envía la misma solicitud con el mismo Idempotency-Key. Si la primera se aceptó, recibes su resultado original; si no, se acepta esta. Nunca generes una clave nueva para un reintento: así es como se crean registros y preparaciones duplicados.

Dejaron de llegar eventos

Las notificaciones se pueden perder. Reproduce desde tu cursor; ante CURSOR_EXPIRED o resync.required, carga una instantánea. Si recibiste access.revoked, tu acceso a ese canal terminó. Consulta Reconexión y reproducción y Revocación.

Un dominio propio no se verifica

DOMAIN_UNVERIFIED enumera los valores TXT que la comprobación encontró en observed. Compáralos con verification.value, presta atención al nombre exacto del registro y da tiempo a la propagación del DNS antes de intentarlo de nuevo. El dominio no sirve nada hasta que se verifica.

Qué incluir cuando pidas ayuda

La URL o la operación exacta, el estado y el code, los identificadores de la aplicación, del release y del trabajo, y la hora. Nunca incluyas tokens. Los registros de los trabajos están saneados y es seguro compartirlos dentro de tu organización.