Amigos,
Talvez fique mais fácil se eu explicar a aplicação que estou fazendo. Estou comunicando através de internet a rádio com 6 poços artesianos, aqui em minha cidade. Acontece que utilizo um datasource SQL para pegar os dados em cada elevatória, e quando tenho problemas de falta de energia em alguma delas, o datasource não se recupera, desta forma tenho que, manualmente, desligar o datasource e religar o mesmo.
Minha intenção com essa pergunta era criar um detector de evento, caso os dados não se alterassem em 5 minutos, eu trataria esse evento com um script que desligaria, contaria um tempo (30 segundos) e religaria o datasource, repetindo este processo até que a comunicação se reestabelecesse. Gostaria de fazer a conferência se os datasources estão todos ativos a cada 5 minutos.
Desta forma, se existisse algum método para eu saber se o datasource está ativo, ficaria mais fácil de resolver o meu problema.
A minha tentativa em resolver o problema foi criar um detector de evento que avalia se teve alteração em um determinado parâmetro nos últimos 5 minutos. Caso não, o evento se torna ativo e com o tratador de evento, rodo um script que desabilita o datasource, e quando este evento retorna ao normal, reabilita o mesmo. Feito isso, ao fazer testes, o ScadaBR ficou instável, pois quando desabilito o datasource, o detector de evento retorna ao normal, ai roda o script de religar o datasource, gera o evento de novo, que desliga o datasource de novo, que retorna ao normal, que religa, e por ai vai...
Preciso de ajuda dos mais entendidos no assunto, pois este foi o único problema que tive até agora com o ScadaBR. Acredito que a minha abordagem não esteja correta, mas não consigo vislumbrar uma saída.
Aguardo a ajuda de vocês.