Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

167
Visualizações
Firestore de repente tiene un gran retraso de activación

Estamos ejecutando una aplicación en Firestore y obtuvimos un disparador simple que cuando se crean o actualizan los detalles del pedido, parte de su información debe volver a escribirse en la colección de pedidos principal.

La función para esto obtuvo el siguiente código.

 export const updateOrderDetails = functions .region(FUNCTION_REGION) .firestore.document("orders/{orderId}/details/pickupAndDropoff") .onWrite(async (change, context) => { return await admin .firestore() .collection("orders") .doc(context.params.orderId) .set({ pickupAndDropoff: change.after.data() }, { merge: true }); });

Antes funcionaba bien, pero ahora, al azar, alrededor de cada tercio de sus ejecuciones se retrasa. A veces por unos minutos. En los registros de Cloud Function, vemos tiempos de ejecución normales <200 ms, por lo que parece que el activador se ejecuta después de una gran pausa.

Lo que es peor, de vez en cuando nuestro change.after.data() no está definido, pero nunca eliminamos nada, solo se actualiza y se crea.

Estaba funcionando bien, no cambiamos nada desde la semana pasada, pero ahora comenzó a tener retrasos inesperados. También verificamos el estado de Firebase, pero no hay fallas en el servicio de funciones de Firebase. ¿Cuál puede ser la causa de esto?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El problema puede deberse a que el orderId aumenta monótonamente como el parámetro pasado aquí:

 ... .collection("orders") .doc(context.params.orderId) ...

Si puede verificar una vez si el ID de pedido pasado aquí aumenta monótonamente con cada solicitud. Puede conducir a puntos de acceso que afectan la latencia .

Para explicarlo, creo que la velocidad de escritura debe cambiar en diferentes días y horas, a medida que cambia el tráfico del usuario que usa la aplicación o las solicitudes de prueba de carga , lo que está creando un tipo de comportamiento inesperado. A una velocidad de escritura baja , las solicitudes funcionan como se esperaba la mayor parte del tiempo. A una velocidad de escritura alta , las solicitudes enfrentan una situación de punto de acceso en el almacén de incendios, como se menciona en la documentación del almacén de incendios, lo que genera demoras (problema de latencia).

Aquí está el enlace relevante a la documentación de mejores prácticas de firestore.

about 4 years ago · Juan Pablo Isaza Relatório

0

Gracias a la sugerencia de Frank van Puffelen, enviamos esta pregunta directamente al soporte de Firebase y, después de su investigación interna, recibimos la respuesta de un equipo de ingeniería de que, de hecho, se trataba de un mal funcionamiento de la infraestructura.

La respuesta que obtuve de ellos fue:

Elevé el problema para recuperar más información. Hasta ahora, parece que hubo un problema con la publicación/suscripción y la creación del evento. El equipo de Firestore también se está comunicando con el equipo de pub/sub para investigar el problema y prevenir futuros incidentes.

Parece que la mejor manera de lidiar con estos problemas es escribir rápidamente directamente al equipo de soporte de Firebase, porque como mencionaron en la respuesta automática que recibí después de enviar un ticket de soporte:

Para las interrupciones de Firebase que no aparecen en el panel de estado, responderemos dentro de las 4 horas.

que parece ser la mejor opción.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda