StoreProcedure programada
Olá pessoal, preciso de uma luz,
Tem como fazer uma SP rodar de tempos em tempos no servidor, vams dizer que de 5 em 5 minutos...?
Obrigado
[]s
Tem como fazer uma SP rodar de tempos em tempos no servidor, vams dizer que de 5 em 5 minutos...?
Obrigado
[]s
Titanius
Curtidas 0
Respostas
Gandalf.nho
21/03/2005
Diretamente no banco, acho que não dá, mas você poderia criar um executável que ficasse no servidor e via timer chamasse a SP
GOSTEI 0
Titanius
21/03/2005
obrigado, porem o servidor em questao eh linux... e nao sei nada de linux.. :(
Obrigado mesmo assim :D
[]s
Obrigado mesmo assim :D
[]s
GOSTEI 0
Gandalf.nho
21/03/2005
obrigado, porem o servidor em questao eh linux... e nao sei nada de linux.. :(
Obrigado mesmo assim :D
[]s
Ou coloque a aplicação numa máquina cliente, só que aí tem que tomar cuidado para não ter problemas de conexão ou algo semelhante
GOSTEI 0
Titanius
21/03/2005
realmente...
deixa eu te perguntar... para isso aconselha eu usar thread ?
obrigado
[]s
deixa eu te perguntar... para isso aconselha eu usar thread ?
obrigado
[]s
GOSTEI 0
Gandalf.nho
21/03/2005
deixa eu te perguntar... para isso aconselha eu usar thread ?
Aí já não sei responder, nunca trabalhei com thread. Vamos ver se alguém mais entendido no assunto possa responder isso para você.
GOSTEI 0
Titanius
21/03/2005
ok, obrigado
fico aguardando...
[]s
fico aguardando...
[]s
GOSTEI 0
Emerson Nascimento
21/03/2005
thread´s são para processamentos simultâneos e, dependendo do tempo de ´vida´ de uma thread, os processos podem ser sobrepostos. por exemplo: vc executa uma tarefa a cada 5 minutos. se a tarefa exceder esse tempo, os processos serão encavalados, pois uma tarefa não teria terminado e outra já seria iniciada, o que pode gerar algum conflito se acontecer a manipulação simultânea de alguma informação. para evitar esse conflito é necessário uma boa analise e fazer o uso correto de [i:b62b118b6a]critcal sections[/i:b62b118b6a], [i:b62b118b6a]synchronization[/i:b62b118b6a], [i:b62b118b6a]mutex[/i:b62b118b6a], [i:b62b118b6a]semaphores[/i:b62b118b6a], etc.
não sei o que sua SP faz; analise-a. veja se no caso de o processo ultrapassar os 5 min será necessário disparar a SP novamente ou se é possível esperar que ela termine pra depois executar outra. analise isso com cuidado. as vezes um TTimer resolve o problema. ao entrar no timer vc o desliga (para evitar processos ´encavalados´), executa a SP e depois religa o timer.
não sei o que sua SP faz; analise-a. veja se no caso de o processo ultrapassar os 5 min será necessário disparar a SP novamente ou se é possível esperar que ela termine pra depois executar outra. analise isso com cuidado. as vezes um TTimer resolve o problema. ao entrar no timer vc o desliga (para evitar processos ´encavalados´), executa a SP e depois religa o timer.
GOSTEI 0
Titanius
21/03/2005
blz amigo,
muito obrigado!
[]s
muito obrigado!
[]s
GOSTEI 0
Afarias
21/03/2005
A forma mais eficiente de fazer isso na minha opnião é simplesmente agendar um script no servidor Linux (usando CRON)
basta vc criar um script SQL por exemplo contendo:
e salvar como script.sql
e então vc cria o script (bash) q será executado pelo cron, q deve conter basicamente:
pronto, agora é só ´agendar´ este script no Cron para executar quando vc deseja (diariamente por exemplo)
T+
basta vc criar um script SQL por exemplo contendo:
execute procedure procedimento1;
e salvar como script.sql
e então vc cria o script (bash) q será executado pelo cron, q deve conter basicamente:
/opt/interbase/bin/isql localhost:/caminho/banco.gdb -i /caminho/script.sql -o /tmp/script.log -u usuario -p senha
pronto, agora é só ´agendar´ este script no Cron para executar quando vc deseja (diariamente por exemplo)
T+
GOSTEI 0