Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

110
Vistas
RabbitMQ que causa el error TCP ECONNRESET en ACKing

Configuración actual

Tengo un proyecto Typescript que usa amqp para conectarme a un corredor de AmazonMQ. Tengo muchos trabajadores que se conectan y procesan trabajos de las colas sin problemas la mayor parte del tiempo .

Parece que, por alguna razón, hay trabajos en la cola que RabbitMQ está reintentando ( como se indica en los encabezados que se configuran desde RMQ ), pero cuando el trabajador va a ack , aparece el siguiente error

 Error: write ECONNRESET at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:94:16) at WriteWrap.callbackTrampoline (internal/async_hooks.js:130:17) at handleWriteReq (internal/stream_base_commons.js:53:26) at writeGeneric (internal/stream_base_commons.js:145:15) at TLSSocket.Socket._writeGeneric (net.js:798:11) at TLSSocket.Socket._write (net.js:810:8) at writeOrBuffer (internal/streams/writable.js:358:12) at TLSSocket.Writable.write (internal/streams/writable.js:303:10) at roundrobin (/app/node_modules/amqplib/lib/mux.js:61:25) at Mux._readIncoming (/app/node_modules/amqplib/lib/mux.js:67:3) at Immediate._onImmediate (/app/node_modules/amqplib/lib/mux.js:97:12) at processImmediate (internal/timers.js:464:21) at process.topLevelDomainCallback (domain.js:152:15) at process.callbackTrampoline (internal/async_hooks.js:128:24)

Esto sólo ocurre cuando un trabajador de larga duración ( una hora o menos procesando el trabajo de la cola y tiene un latido en la URL de conexión ) intenta ack de la finalización de su trabajo para un trabajo que ya se completó . Esta falla hace que mi trabajador muera, lo que hace que RMQ vuelva a poner en cola el trabajo al parecer.

Estoy trabajando para construir una reproducción ficticia, pero está siendo difícil.

Mis preguntas

Tengo la sensación de que es porque estoy tratando de ack un trabajo que ya ha sido ack . Habría imaginado que RMQ no habría vuelto a poner en cola el trabajo si ese fuera el caso. ¿Alguien puede validar/mostrar dónde podría validar si ack volvería a poner en cola un trabajo que no se puede confirmar si no se ack confirmar porque ya se ack ?

¿Hay otro camino que pueda seguir para averiguar cuál es el problema? Todavía no tengo el manejo de errores adjunto al channel lanzado a producción y solo tengo estos registros adjuntos a la queue . Estoy tratando de enviar una actualización para obtener registros del channel para ver si hay más información allí. ¿Dónde más puedo buscar problemas?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda