lunes, 8 de septiembre de 2008

Planificación de ejecución de Meta4Objects

Sois bastantes los que me habéis preguntado cómo se puede delegar en el Planificador de Tareas (Job Scheduler) la ejecución de métodos de un Meta4Object.

Aquí redacto una forma de hacerlo. Esta forma no permite al usuario "final" la planificación de tareas de forma sencilla... necesita tener un poco de conocimiento. De todas formas para permitir a un usuario planificar ejecuciones contra el Planificador de Tareas desde un método Ln4, puedes consultar este post "Ejecución de Meta4Objects planificados en el Job Scheduler"

Imaginemos que disponemos de un Meta4Object llamado CXX_MI_META4OBJECT que en su nodo principal, CXX_MI_NODO, dispone de un método CXX_GESTION que realiza la carga del nodo y si hay información resultante de la carga envía un mail. Queremos que se ejecute todos los días a las 00:00 para controlar cierta información.

Nota: Haz click en las imagenes para verlas más grandes

a) Accederemos, inicialmente al Planificador de Tareas:



b) Pulsaremos en "Nuevo" para crear una nueva Tarea:


c) Rellenaremos todos los datos de la primera pestaña de la definición:

Son:
  • Planificación: Crearemos un ID Planificación nuevo: (i.e.) CXX_PLANIFICACION
  • Descripción: Crearemos una descripción que nos inforque que es lo que hace
  • Prioridad: En general "Normal" pero en función de tus necesidades puedes cambiarlo ("No urgente","Urgente"  o "Muy urgente")
  • Cola de ejecución: Podemos elegir entre los M4AppServers conectados a nuestra Base de Datos para decidir quien lo debe ejecutar. Podemos elegir, por ejemplo, un M4AppServer que corra sobre una máquina Windows para ejecutar exportaciones a Excel que una máquina UNIX o AIX sería imposible.

d) Rellenaremos todos los datos de la segunda pestaña de la definición:


Modificaremos:
  • Modo: "Inmediato" para una única ejecución, "Cíclico" hasta 500 ejecuciones que sigan algun patrón (todos los días, todos los martes,...), "Plan Anual" para ejecuiones que sigan planes anuales (1er, o último día meses pares, primer lunes de cada mes, cada 25 de cada mes,...) o "Lista de fechas" planficiaciones hechas para fechas concretas sin seguir patrón.
  • En cada uno de los casos existe diferentes opciones de planificación.
e) Rellenaremos todos los datos de la tercera pestaña de la definición, donde elegiremos una tarea llamada "Execute LN4 Code":



f) Rellenaremos todos los datos de la cuarta pestaña de la definición: 


Haz click en el campo de texto "Valor / Fuente" y pegaremos el siguiente código (link):




g) Rellenaremos todos los datos de la quinta pestaña de la definición, donde podremos indicar para que Sociedad se debe ejecutar este método (en mi caso sólo tengo una): 


h) Por último, inidicaremos en la sexta pestaña de la definición si deseamos, o no, estadísticas de la ejecución.  


Pulsaremos en "Finalizar" y PeopleNet nos avisará de la planificación de esta tarea


Ya está... espero que sea interesante.

3 comentarios:

Anónimo dijo...

Oscar

Necesito planificar una tarea en el Job Scheduler de Meta4 para que importe determinada informacion desde un archivo texto. Lo que sucede es que ese archivo texto se genera a partir de un proceso batch ejecutado por Control - M y necesito sincronizar ambos procesos, es decir, que el proceso de Meta4 se comienza a ejecutar cuando ya exista el archivo. ¿Existe alguna manera de hacer esto, es decir, definir una regla en el job scheduler para que se ejecute, no a una hora determinada, sino cuando exista un archivo en una ubicacion? o ¿existe alguna manera de ejecutar algun proceso LN4, desde fuera de Meta4, como para llamarlo directamente desde la shell, por ejemplo?

Muchas gracias de antemano
Saludos
Daymel

Anónimo dijo...

Oscar:

Ya encontre en la documentacion que puedo hacer planificaciones de Tareas desde un planificador externo a Meta4 como Control M.

Saludos y gracias por mantener este blog

Anónimo dijo...

Seria bueno que compartas esa información.