Ejecutar tarea en Qlikview Server desde línea de comandos

Vamos a automatizar un proceso utilizando Talend ETL en el que debemos recargar un módulo de Qlikview de forma desatendida cuando se reciba un mail con un asunto específico en el buzón de correo del área. Respecto a la parte de Qlikview, para lograrlo utilizaremos la herramienta QMSEDX que permite lanzar desde línea de comandos una tarea programada de Qlikview Server/Publisher (ésta debe estar previamente creada).

 

Seguridad (permisos de usuario)

En primer lugar debemos revisar si el usuario que va a ejecutar la herramienta QMSEDX tiene los permisos correspondientes. En nuestro caso utilizaremos un usuario de servicio en lugar del nuestro propio de desarrollo. Es necesario que el usuario esté dentro de los grupo de windows:

  • Qlikview Administrators
  • Qlikview EDX

Este último es necesario crearlo manualmente, ya que no se crea durante la instalación del servidor de Qlikview. Una vez creado el grupo EDX y añadido el usuario en cuestión, reiniciamos los servicios de Qlikview.

Ejecutar tarea en Qlikview Server desde línea de comandos

 

Configurar tarea programada como External Event

No es necesario tener licencia de Qlikview Publisher para utilizar la herramienta QMSEDX, en su lugar, podemos configurar una tarea programada en el propio QV Server como External Event. Simplemente seleccionamos el documento en cuestión y en la pestaña Reload configuramos la última opción On an External Event. Introducimos la contraseña y pulsamos el botón Apply. Podemos reconfigurar el campo Timeout seconds. La dependencia la dejaremos como select, ya que la idea es lanzar la tarea programada desde línea de comandos, no cuando se ejecute otra tarea programada.

Ejecutar tarea en Qlikview Server desde línea de comandos

 

Configurar fichero .bat para que ejecute QMSEDX

En primer lugar debemos descargar la herramienta QMSEDX (podéis hacerlo desde aquí). Descomprimimos el fichero QMSEDX_CommandLine que contiene QMSEDX.exe y QMSEDX.exe.config.

Abrimos el bloc de notas e invocamos a QMSEDX con los siguientes parámetros:

QMSEDX.exe -task=”nombreTarea” -password=”contraseña

Donde la nombreTarea en el caso de disponer de licencia Publisher será el nombre de la tarea programada. En nuestro caso, como no tenemos esta licencia y utilizaremos el gestor de tareas de QV Server, debemos indicar la ruta “virtual” dentro del servidor (el nombre que hemos asignado a la ruta física de los documentos que hemos parametrizado System > Folders) y el nombre del fichero .qvw. Por ejemplo: en este caso TALEND/cuadro_mando_qv.qvw.

Ejecutar tarea en Qlikview Server desde línea de comandos

Si indicamos mal la ruta/nombre del fichero o el nombre de la tarea, nos arrojará un error:TaskNotFound.

Ejecutar tarea en Qlikview Server desde línea de comandos

En algunos ejemplos se incluye el parámetro -qms=http://<QVserverName>:4799/QMS/Service, no es necesario para las tareas de QV Server. En cualquier caso, con modificar el valor QVServerNahttpme por localhost o el nombre de nuestra máquina sería suficiente.

Invocamos el .bat y se lanzará automáticamente la recarga desde el planificador.

Ejecutar tarea en Qlikview Server desde línea de comandos

Sin Comentarios