Uso de filtros com ações

Uso de filtros simples

Estes são exemplo de usos do filtro simples:

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.

Uso do filtro “Disparar quando ativo”

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.

Uso do filtro “Disparar quando ativo ou eliminado”

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.

Uso de filtros personalizados

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:

Instruções:

Condições:

Exemplo de script - filtro “Disparar quando ativo”

Este é um exemplo da representação do script do filtro incorporado “Disparar quando ativo”:

IfThen (EventDataIs("state", "ACTIVE"))
Distribute

O efeito da condição EventDataIs é 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 IfThen executa a instrução seguinte se a condição EventDataIs ("state", "ACTIVE") for verdadeira. Uma condição EventDataIs é verdadeira se o valor da palavra-chave (state) corresponder ao valor fornecido (ACTIVE). A instrução seguinte, Distribute, faz com que o comando seja executado.

Exemplo de script - filtro “Disparar quando ativo” com um atraso de 30 segundos

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 IfThen e as instruções seguintes foram tratadas como uma única instrução.

A instrução WaitUntil faz com que o script pause a execução até que a condição seja verdadeira. A condição TimeIsAfter verifica se é verdadeira somente depois de decorridos os segundos especificados. Se o evento ainda estiver ativo após 30 segundos, a instrução Distribute executa o comando.

Exemplo de script - filtro “Disparar quando ativo ou eliminado”

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, And 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 TimeIsAfter é definida para aguardar 1.200 segundos (20 minutos).