Estes são exemplo de usos do filtro simples:
Configure uma ação que execute um comando quando um dispositivo atender aos requisitos do filtro. Por exemplo, crie uma pasta que contenha apenas impressoras com uma contagem de páginas superior a 10.000. Quando a contagem de páginas de uma impressora monitorada exceder 10.000, ela será adicionada à pasta.
Monitore apenas as impressoras com um dispositivo flash instalado. Por exemplo, se uma pasta contiver apenas impressoras com um dispositivo flash instalado e um dispositivo flash for removido de uma impressora monitorada, ela será removida da pasta. O filtro atualiza a pasta automaticamente quando a impressora deixa de atender aos requisitos do filtro.
Use a opção “Com um atraso de” para atrasar a execução de uma ação por um período especificado depois que um dispositivo for adicionado a uma pasta ou removido dela.
Escolha o filtro “Disparar quando ativo” para definir uma ação que execute um comando apenas quando a condição se tornar Ativa. Por exemplo, se você estiver monitorando o evento Bandeja de papel ausente e alguém remover uma bandeja de uma impressora monitorada, a impressora gerará um evento Bandeja de papel ausente com um estado Ativo. O estado Ativo satisfaz a condição do filtro, e a ação especificada é executada. Quando a bandeja de papel for recolocada, a impressora gerará outro evento Bandeja de papel ausente com o estado Eliminado. O estado Eliminado não satisfaz a condição do filtro, e a ação não é executada.
Escolha o filtro “Disparar quando ativo ou eliminado” para definir uma ação de modo que ela seja executada sempre que uma condição se tornar Ativa ou Eliminada. Por exemplo, use o filtro para manter um log de todos os atolamentos de papel da impressora a fim de determinar o tempo médio necessário para a limpeza de um atolamento. Quando ocorre um atolamento de papel, a impressora gera um evento com o estado Ativo. Isso satisfaz a condição do filtro e a ação é executada. Quando o atolamento de papel é eliminado, a impressora gera outro evento, com o estado Eliminado. Esse evento também satisfaz a condição do filtro e a ação é executada. Agora há duas linhas no arquivo de log: uma com o horário em que ocorreu o atolamento de papel e outra com o horário em que ele foi eliminado.
Use um filtro personalizado para definir como uma ação será executada. Carregue um arquivo de script ou grave um novo. O MarkVision Messenger fornece uma linguagem de script muito simples para definir filtros. Esta é uma lista completa das instruções e condições que podem ser usadas em um filtro personalizado:
(condição)
(condição)
(condição)
{Lista_de_instruções}
(condição_1...condição_n)
(condição_1...condição_n)
(chave, valor)
(chave, valor)
Este é um exemplo da representação do script do filtro incorporado “Disparar quando ativo”:
IfThen (EventDataIs("state", "ACTIVE"))
DistributeO efeito da condição é solicitar ao evento o valor da palavra-chave event: state. Essa palavra-chave pode ser inserida em linhas de comando e mensagens de e-mail. A instrução executa a instrução seguinte se a condição for verdadeira. Uma condição é verdadeira se o valor da palavra-chave (state) corresponder ao valor fornecido (ACTIVE). A instrução seguinte, , faz com que o comando seja executado.
Segue um exemplo de script usado quando a ação do filtro “Disparar quando ativo” é atrasada por 30 segundos:
{
WaitUntil (TimeIsAfter(30))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}As chaves ({}) são usadas para agrupar instruções em uma lista. Elas não foram necessárias no exemplo anterior porque a instrução e as instruções seguintes foram tratadas como uma única instrução.
A instrução faz com que o script pause a execução até que a condição seja verdadeira. A condição verifica se é verdadeira somente depois de decorridos os segundos especificados. Se o evento ainda estiver ativo após 30 segundos, a instrução executa o comando.
Este é um exemplo da representação do script do filtro incorporado “Disparar quando ativo ou eliminado” para este cenário: o evento Bandeja de papel ausente está selecionado para a Bandeja 3, há um atraso de 20 minutos antes da execução do comando e o comando se repete a cada 20 minutos se a condição permanecer Ativa.
While (And(EventDataIs("state", "ACTIVE"), EventDataIs("location", "Tray 3")))
{
WaitUntil(TimeIsAfter(1200))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}Neste exemplo, foi usado para criar uma condição composta. O loop While só é iniciado ou repetido se o evento estiver ativo para a Bandeja 3. O código dentro do loop é o mesmo que o do filtro “Disparar quando ativo”, com a exceção de que a condição é definida para aguardar 1.200 segundos (20 minutos).