Uso de filtros con las acciones

Uso de filtros sencillos

Lo siguiente son ejemplos de usos del filtro sencillo:

Use la opción "con un retraso de" para retrasar la ejecución de una acción durante un tiempo especificado después de que se agregue el dispositivo de una carpeta o de que se elimine de la misma.

Uso del filtro "Desencadenar activo"

Elija el filtro "Desencadenar activo" para configurar una acción de tal manera que sólo ejecute un comando cuando se active una condición. Por ejemplo, si va a controlar el evento Falta bandeja de papel y alguien retira una bandeja de una impresora controlada, la impresora genera un evento Falta bandeja de papel con el estado Activo. El estado Activo cumple la condición del filtro y se ejecuta la acción especificada. Cuando se sustituye la bandeja de papel, la impresora genera otro evento Falta bandeja de papel con el estado Borrado. El estado Borrado no cumple la condición del filtro y no se ejecuta la acción especificada.

Uso del filtro "Desencadenar activo o borrado"

Seleccione el filtro Desencadenar activo o borrado si desea definir la acción para que se ejecute cada vez que una condición se vuelva activa o borrada. Por ejemplo, use el filtro para mantener un registro de todos los atascos de papel de la impresora para determinar el tiempo medio que se tarda en eliminar un atasco. Cuando se produce un atasco, la impresora genera un evento con el estado Activo. Esto cumple la condición del filtro y ejecuta la acción. Cuando se elimina el atasco de papel, la impresora genera otro evento con el estado Borrado. Este evento también cumple la condición del filtro y ejecuta la acción. Ahora habrá dos líneas en el archivo de registro, una con la hora a la que se produjo el atasco de papel y otra con la hora en la que se eliminó.

Uso de filtros personalizados

Use un filtro personalizado para definir cómo se ejecuta una acción. Suba un archivo script o escriba uno nuevo. MarkVision Messenger proporciona un lenguaje sencillo de script para definir filtros. A continuación, se proporciona una lista completa de instrucciones y condiciones que puede utilizar para escribir un filtro personalizado:

Instrucciones:

Condiciones:

Ejemplo de creación de script - Filtro "Desencadenar activo"

A continuación, aparece un ejemplo de representación de script del filtro "Desencadenar activo":

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

El efecto de la condición EventDataIs es solicitar el evento para el valor de la palabra clave event.state. Esta palabra clave se puede insertar en líneas de comandos y mensajes de e-mail. La instrucción IfThen ejecuta la siguiente instrucción si la condición EventDataIs ("state", "ACTIVE")es verdadera. Una condición EventDataIs es verdadera si el valor de la palabra clave (state) coincide con el valor concreto (ACTIVE). La siguiente instrucción, Distribute, conlleva la ejecución del comando.

Ejemplo de creación de script - Filtro "Desencadenar activo" con un retraso de 30 segundos

A continuación, aparece un ejemplo de script cuando la acción del filtro "Desencadenar activo" se retrasa 30 segundos:

{
WaitUntil (TimeIsAfter(30))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}

Las llaves ({}) se utilizan para agrupar instrucciones en una lista. No se agregaron en el ejemplo anterior, ya que la instrucción IfThen y las siguientes se tomaron como una sola.

La instrucción WaitUntil hace que el script detenga la ejecución hasta que la condición sea verdadera. La condición TimeIsAfter comprueba si es verdadera después del tiempo (número de segundos) especificado. Si el evento sigue activo después de 30 segundos, la instrucción Distribute ejecuta el comando.

Ejemplo de creación de script - Filtro "Desencadenar activo o borrado"

Lo que sigue es una representación de script del filtro "Desencadenar activo o borrado" incorporado para estas circunstancias: se selecciona el evento Falta bandeja de papel para la bandeja 3, existe un retraso de 20-minutos antes de que se ejecute el comando y el comando se repite cada 20 minutos si la condición sigue activa.

While (And(EventDataIs("state", "ACTIVE"), EventDataIs("location", "Tray 3")))
{
WaitUntil(TimeIsAfter(1200))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}

En este ejemplo, And se ha utilizado para crear una condición compuesta. El bucle While sólo se introduce o repite si el evento está activo para la Bandeja 3. El código dentro del bucle es el mismo que el del filtro "Desencadenar activo", excepto la condición TimeIsAfter, que está definida para esperar 1200 segundos (20 minutos).