Sign in to follow this  
rodrigo_arf

Como Fazer Um Rotina Que Delete Usersonline De Intervalo Em Intervalo

Recommended Posts

Ola Amigos

Sou Desenvolvedor em Asp.

Minha duvida é a seguinte ! Tenho um sistema em Asp, e o Banco de dados é

Access nele tenho uma Tabela chamada UsuariosOnline e contem os seguintes

campos User_Online_ID, User_Pri_Nome, User_Id, User_Hora. Bom ate ai tudo

certo a questão é a seguinte !!

Preciso de uma Função vejam bem Funtion rsss em Asp que rode internamente

e delete desta tabela todos os Usuarios online que passaram de 1 hora

na Tabela no campo User_Hora os dados são gravados como Texto desse jeito

exemplo: 14:23:12 correto! bom nesta Function tenho que dar um SELECT na

Tabela e Depois DELETAR todos da tabela que já tenham passado de 1 hora,

da hora de acesso ou seja da hora que ele se logou no sistema...

Particularmente é a Hora de acesso menos a Hora Atual mas como faço se

o Usuário iniciou seu acesso por exemplo as 23:35:12 e tera que ser desconectado

do sistema as 00:35:12 correto! mas como monto essa Function com todas as verificações

corretas heheheh essa é a parte dificil, entendem alem de pegar os dados do SELECT e

trata-los pois estão com ":" no meio e estão no formato Texto como disse antes

So reforçando! esta função tera que rodar por exemplo a cada 30 minutos internamente

na verdade, na area administrativa do sistema tera um campo para o Administrador colocar

o intervalo que ele queira que execute esta function ai ele clicando no botão alterar

que tera na pagina esta function recebe este valor e começa a executar neste intervalo de

tempo entendemmm

OBS: O parametro que a função ira receber vira do banco exemplo

30, 20, 60 esse numeros a função executara de intervalo

em intervalo depende do que o Usuario cadastrar no Admin do

Sistema. Ex: de 30 em 30 minutos, de 20 em 20 minuto...

Esta função ainda não esta chamando do banco...

Segue o Começo da Função ai mas tem muita coisa a fazer

'Função de Tarefa autoexecutavel, 
'Limpa UsuariosOnline com mais de
'1 hora ou seja 60 segundos
 Function LimpaUsuariosOnline()
    'Pega os valores da Tabela
    Set rsResgataHora = Server.CreateObject("ADODB.Recorset")
       strResgataHora = "SELECT * FROM UsuariosOnline"
       rsResgataHora.Open strResgataHora, conexao 
    
    'Trata os Valores   
       varHorario = rsResgataHora("User_Hora") 
       arrHoraMinSec = Split(varHorario,":")
       
       varHoraAntigo = Cint(arrHoraMinSec(0))
       varMinuAntigo = Cint(arrHoraMinSec(1))
       varSecoAntigo = Cint(arrHoraMinSec(2))
       
       varNumeroAntigo = varHoraAntigo&varMinuAntigo&varSecoAntigo
    
    'Pega a Hora Atual
       varHoraAtual = Cint(Hour(Now))
       varMinuAtual = Cint(Minute(Now))
       varSecoAtual = Cint(Second(Now))
      
       varNumeroAtual = varHoraAtual&varMinuAtual&varSecoAtual
       
       'Subtrae a hora atual pela hora de acesso
       if varNumeroAtual > varNumeroAntigo then
          varResultado = varNumeroAtual - varNumeroAntigo
       else
          varResultado = varNumeroAntigo - varNumeroAtual
       end if   
       
           'Continua a tratar a variavel varResultados com a Função
       'Left() para colocar os ":" no meio e ai sim comparar e deletar do banco
       'os Usuarios que passaram de 1 hora ou 60 segundos no sistema.
           'Contitua...
        
 End Function

Ufa!!! é Uma tarefa para o Super Man... ou o Home Aranha!!! rsss

isso se o sistema não ficar uma aranha !!!! rsss

Aguardo Posts Periodicamente

Abraços...

Share this post


Link to post
Share on other sites

não li todo seu tópico.... mais é simples ao entrar na pagina um select é acionado e deleta os usurios com o tempo estourado.....

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this