shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Estrutura de script para criar fila de espera


From: Fernando Mercês
Subject: Re: [shell-script] Estrutura de script para criar fila de espera
Date: Thu, 17 Sep 2015 11:52:55 -0400

Opa, já considerou usar o wait? :)

$ date; sleep 5 &
Thu Sep 17 12:52:17 BRT 2015
[1] 6691

$ wait; date; echo O sleep acabou
[1]+  Done                    sleep 5
Thu Sep 17 12:52:22 BRT 2015
O sleep acabou



Att,

Fernando Mercês
mentebinaria.com.br
---------------------------

2015-09-17 10:29 GMT-04:00 Robson Alexandre address@hidden [shell-script] <address@hidden>:
 

Bom dia a todos,

gostaria de saber a opinião dos colegas da lista e inclusive sugestões para seguinte demanda que estou a decidir qual a melhor maneira de se fazer.

Uma rotina que é disparada por um usuário qualquer e caso esta rotina já esteja em execução, cria-se uma fila de espera q é executada imediatamente após o término da anterior.

Bom, parece simples, é só colocar o script da rotina para chamar o próximo caso haja fila de espera, mas qual seria a melhor forma de realizar esse script?

Pensei em algo do tipo

cat <<EOF > script

#!/bin/bash
dir=/caminho/app

ps -C $0 || {
echo Executando rotina...
sleep 20  #simulando tempo de execução da rotina

queue=( $(wc -l $dir/queue) )
[ ${queue[0]} -gt 0 ] && at now + 1 minutes <<< "$(sed '1!d' $dir/queue; sed -i '1d' $dir/queue)"
} && {
echo $0 $* >> $dir/queue
}
EOF

cat <<EOF > queue
/caminho/app/script param1 param2 paramN
/caminho/app/script paramY paramX paramN
/caminho/app/script parama paramb paramN

EOF

Gostaria de opiniões e sugestões sobre desde o método para verificar se a rotina já está em execução (ps -C $0), até o uso do at para agendar o próximo da fila.
Alguém já fez algo parecido? Já tem alguma coisa implementada?

Atenciosamente
Robson Alexandre



reply via email to

[Prev in Thread] Current Thread [Next in Thread]