Identificación
El primer paso es identificar el error. Aunque cada error no capturado se registra y está disponible en la respuesta al autor de la llamada (cliente), puede capturar el error de forma temprana mediante un bloquetry/catch.
Considere el siguiente fragmento de CloudScript que produce y captura el error.
El código de error por sí solo es suficiente para identificar el error.
Registro
Cualquier error no controlado se agrega a la respuesta, lo que permite al cliente procesar el problema. Al mismo tiempo, crea una entrada de error de CloudScript y la agrega a las estadísticas totales disponibles en su panel de CloudScript. Para forzar el registro de la excepción en forma de cadena JSON, use el registro de errores mediante el objetolog.
Recuperación
No siempre es posible recuperarse de los errores. Problemas comoInvalidArguments no le dejan más opción que notificar el problema al jugador.
Hay un subconjunto de errores en los que se puede aplicar una estrategia de reintento. Los tipos de error reintentables se describen en Códigos de error globales de los métodos de la API.
Le pedimos que se asegure de cumplir los siguientes requisitos al aplicar una estrategia de reintento:
- Con cada reintento, la demora entre reintentos debe aumentar exponencialmente. Esto incrementa sus posibilidades de realizar una llamada correcta y evita que su juego sature el servidor de PlayFab con llamadas repetidas (lo que dará lugar a más llamadas rechazadas).
- Debe aplicar esta estrategia de reintento de forma selectiva, usándola solo para aquellos códigos en los que valga la pena reintentar.
Error de tiempo de espera de CloudScript
El tiempo de ejecución de las llamadas API de CloudScript está limitado a 4 segundos. Si el tiempo de ejecución supera los 4 segundos, se genera un errorInternalServerError y el evento de PlayStream escribe un objeto Logs similar al siguiente:
- dividir su CloudScript en segmentos de código más pequeños que se ejecuten en menos de 4 segundos.
- Cambiar a CloudScript con Azure Functions, que tiene límites de tiempo de espera más largos en algunos casos. Puede ver los límites en la guía de inicio rápido.
