Skip to main content

O Accelero tem dois controles envolvendo usuários/operadores: (1) quem está logado; (2) quem está ativo.

Esses controles têm motivação similar (saber quem pode usar o sistema), mas formas diferentes de verificação.

Controles - conceitos

Controle de atividade

Quando o browser tem suporte para SharedWorkers, é aberta uma conexão permanente com o servidor no início da sessão. Com essa conexão aberta, de tempos em tempos o Accelero atualiza uma variável em cache com o timestamp atual.

Quando o browser não tem suporte para SharedWorkers, o Accelero manda um "ping" para o servidor via AJAX com auto-rearme via window.setTimeout() com a mesma lógica/funcionalidade.

Essa variável no cache indica "a última hora conhecida em que houve uma conexão ativa do browser com o Accelero".

Controle de ações

Quando o operador "faz alguma ação" no Accelero, é atualizada uma outra variável no cache dizendo justamente isso: a hora da última ação executada. Basicamente qualquer ação é suficiente pra atualizar esse valor (clicar em um botão, navegar entre páginas, etc...).

Essa variável no cache indica "a última hora conhecida em que o operador fez alguma coisa".

Controles - utilização

Quando o usuário fica "muito tempo sem conexão ativa", isso provavelmente significa que ele fechou o navegador. É possilve configurar o que significa "muito tempo sem conexão ativa" na tela Avançado > Sistema > Sistema - Avança, no campo Logoff após fechar navegador (segundos).

Quando o usuário fica "muito tempo sem realizar uma ação", ele pode ser considerado como "inativo". É possível configurar o que significa "muito tempo" na tela Avançado > Sistema > Sistema - Avançado no campo Logoff por inatividade (segundos), desde que aquele operador específico esteja configurado para ter Logoff automático.

LoggerUserCleanupJob - funcionamento

Esse serviço usa os controles acima pra determinar se algum dos operadores logados deve ser derrubado.

A cada 60 segundos esse serviço faz uma varredura no cache pra identificar ambas as situações acima (atividade + ações) de acordo com as configurações do sistema e de cada operador. Se algum operador for considerado "inativo", seja porque não realizou nenhuma ação recente ou porque o browser "não dá sinal de vida" há mais tempo do que foi configurado, a sessão do operador é derrubada de forma indireta. Isso significa, na prática, que o operador é "derrubado".

Esse recurso é usado como forma de segurança do sistema para evitar (1) que operadores deixem a tela aberta e saiam pra dar uma volta; e (2) que operadores fiquem logados sem fazer nada no sistema.