Talvez use o Paralelo GNU com -j1
:
true >jobqueue; tail -n+0 -f jobqueue | parallel -j1
Anexar trabalho:
echo my_command my_arg >> jobqueue
Para mais opções (como rodar quando um novo arquivo é colocado em um diretório), veja: link
Existe uma maneira de iniciar um script Bash e, em seguida, enfileirar outros scripts bash para iniciar quando o primeiro é feito?
Para contexto. Estou fazendo o processamento de imagens em que preciso mexer manualmente com a imagem e depois enviá-la para um utilitário de linha de comando para terminar. Eu só tenho os recursos para executar 1 instâncias do utilitário (uma enorme rede neural), mas ainda posso continuar procurando e editando mais imagens para alimentá-lo mais tarde. Eu gostaria de poder criar trabalhos em uma fila no segundo que terminei com a parte do manual.
Talvez use o Paralelo GNU com -j1
:
true >jobqueue; tail -n+0 -f jobqueue | parallel -j1
Anexar trabalho:
echo my_command my_arg >> jobqueue
Para mais opções (como rodar quando um novo arquivo é colocado em um diretório), veja: link
Isso pode ser um pouco mais complicado do que você quer, mas vou filmar.
Por que não ter uma pasta contendo as imagens que você editou para ser processada, então uma tarefa cron que verifica a pasta por imagens a cada minuto e executa o script de finalização em cada item dessa pasta e move a imagem concluída para fora para uma pasta 'terminada'?