Ir para conteúdo
Fórum Script Brasil
  • 0

Procedure rodando apenas 1 vez


Antonio Remualdo Junior

Pergunta

Olá amigos, estou com um problema, tenho uma procedure que executa um calculo, o problema ocorre quando esta procedure é executada varias vezes, gostaria de garantir que esta procedure apenas seja rodada 1 por vez. Alguém tem alguma dica?

 

Pensei em fazer da seguinte forma, no inicio da procedure gravar um indicador em uma tabela, com a data de inicio e o nome da procedure, caso ela seja executado novamente, poderá identificar que existe um calculo em andamento ignorando o processo interno e finalizando.

 

Terminando o calculo na primeira procedure gravo na coluna data fim, indicando que o calculo terminou.

 

Mas ao realizar testes de concorrência realizando 5 ou 10 conexões simultâneas, repetindo varias vezes, um ou outro calculo é executado ao mesmo tempo, isso devido que a tabela ao qual estou utilizando como um semáfaro está sendo acessada ao mesmo tempo por conexões concorrentes, e ambas no mesmo momento vê que não existe calculo sendo realizado e iniciam no mesmo instante.

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Crie um semáforo .

crie uma tabela com um campo. (eu uso minha tabela de parâmetro para esta função.

No início da procedure verifique se o campo está ativo. Se estiver encerre a procedure.

Se não estiver, ative o campo e no final da procedure desative o campo.

O problema nesta solução é a procedure abortar e não desativar o campo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...