Estoy tratando de usar GNU paralelo en un script y noté que solo comienza a generar resultados después de los trabajos -jX X.
# Only spawns cat after 100 seconds
(echo a; sleep 100) | parallel -j1 --lb cat
# Starts instantly
(echo a; echo a; sleep 100) | parallel -j1 --lb cat
El primer trabajo debe iniciarse antes que los demás (porque definiría los otros trabajos como una canalización paralela de la salida a otro script), pero el paralelo está esperando 3 trabajos más.
¿Hay alguna manera de cambiar este patrón?
Respuesta1
Actualice a 20181222 o posterior.
# Spawns a instantly
(echo a; sleep 100) | parallel -j1 --lb cat
# Starts a and b instantly, outputs a immediately, b after 100 sec
(echo a; echo b; sleep 100) | parallel -j1 --lb cat
# Starts a and b instantly, outputs a and b immediately (but output may be mixed)
(echo a; echo b; sleep 100) | parallel -j1 --lb cat