Sto cercando di inviare una piccola stringa a statsd tramite nc all'interno di un blocco di lettura:
while read line; do
printf "folder.counter:value|1c" | nc -q 0 -u $host $port
done
Sfortunatamente, quando in modalità UDP, nc sembra voler aspettare indefinitamente, anche se ho specificato -q 0
, che la pagina man dice farà uscire il programma immediatamente dopo EOF.
Ho provato a passare -w 1
, ma se i dati che sto inviando arrivano a più di una riga al secondo, i dati si bufferizzano e perdo le mie statistiche in tempo reale (per non parlare del rischio di un overflow del buffer di qualche tipo).
È possibile fare ciò che sto cercando di fare con Netcat o avrò bisogno di scrivere qualcosa in una lingua che abbia una libreria statsd?