Estoy tratando de enviar una pequeña cadena a statsd a través de nc dentro de un bloque de lectura:
while read line; do
printf "folder.counter:value|1c" | nc -q 0 -u $host $port
done
Desafortunadamente, cuando está en modo UDP, nc parece querer esperar indefinidamente, a pesar de que he especificado -q 0
, lo que dice la página de manual hará que el programa salga inmediatamente después de EOF.
He intentado pasar -w 1
, pero si los datos que envío llegan a más de una línea por segundo, los datos se acumulan y pierdo mis estadísticas en tiempo real (sin mencionar el riesgo de un desbordamiento del búfer de algún tipo).
¿Es posible hacer lo que estoy tratando de hacer con netcat, o voy a necesitar escribir algo en un lenguaje que tenga una biblioteca de estadísticas?