Queue um script Bash para executar após a conclusão do trabalho atualmente?

1

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.

    
por Weavermount 30.07.2016 / 01:39

2 respostas

2

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

    
por 30.07.2016 / 10:17
0

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'?

    
por 30.07.2016 / 04:00

Tags