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

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

Estrutura de script para criar fila de espera


From: Robson Alexandre
Subject: Estrutura de script para criar fila de espera
Date: Thu, 17 Sep 2015 14:29:33 +0000

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]