Estou tentando usar o GNU paralelo em um script, e notei que ele só começa a produzir, após -jX X jobs
# 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
O primeiro trabalho precisa ser iniciado antes dos outros (porque definiria os outros trabalhos como canal paralelo da saída para outro script), mas o paralelo está aguardando mais 3 trabalhos
Existe uma maneira de mudar esse padrão?
Responder1
Atualize para 20181222 ou 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