es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Google Cloud PubSub no reenvía mensajes no reconocidos.

La respuesta seleccionada para esta pregunta contiene información relevante.

Tengo una suscripción con la siguiente configuración:

enter image description here

y el siguiente código:

const subscription = this.pubSubClient
  .topic(this.topicName)
  .subscription(this.subscriptionName)

subscription.on('message', (message: Message) => {
  this.logger.verbose('Received message:', message.data.toString())
})

subscription.on('error', error => {
  this.logger.error('Received error:', error)
})

Los mensajes publicados en el tema correspondiente se registran desde el código anterior, como se esperaba. Sin embargo, no se están reenviando, aunque no los estoy reconociendo dentro del plazo de vencimiento de reconocimiento configurado (o en absoluto).

El Explorador de Métricas muestra correctamente los mensajes no reconocidos:

enter image description here

Además, cuando llamo explícitamente a .nack() en los mensajes, se reenvían, como se esperaba.

¿Estoy entendiendo algo mal?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La configuración de la suscripción mostrada en la captura de pantalla indica que está utilizando Streaming Pull, lo que significa que los mensajes deberían ser automáticamente reenviados después de que se cumpla el plazo de confirmación si no son confirmados o explícitamente rechazados. Sin embargo, el hecho de que esto no esté sucediendo sugiere que puede haber un problema con la biblioteca del cliente o el entorno en el que se está ejecutando.

    También es importante destacar que el Explorador de Métricas muestra mensajes no confirmados, lo que confirma que los mensajes efectivamente no están siendo confirmados. Esto podría deberse a un error en el código de la aplicación, un problema en la lógica de procesamiento de mensajes o problemas de conectividad de red.

    Para diagnosticar el problema, podría ser útil habilitar los registros de depuración para la biblioteca del cliente y verificar si hay algún error o advertencia relacionado con el procesamiento o reenvío de mensajes. Además, podría ser útil probar la suscripción con una biblioteca de cliente o configuración diferente para ver si el problema es específico de la configuración actual.

Comments are closed.