«Task Scheduler», la evolución de las colas de proyecto de NAV

Muchas son las novedades que Microsoft ha traído consigo en su nueva versión de Dynamics NAV 2017. Algunos de mis compañeras ya han hablado de algunas de ellas y han comentado cómo, por ejemplo, fraccionar ingresos y gastos, o establecer roles y permisos.

Hoy me gustaría hablar de las llamadas colas de proyecto, que también han sido mejoradas por la compañía de Redmond para poder programar tareas más complejas, abriendo un nuevo y amplio abanico de posibilidades.

Seguro que muchos de vosotros ya las conocéis, puesto que vienen acompañándonos desde hace varias versiones. Para los que no, las colas de proyecto nos permiten ejecutar tareas en una hora y fecha concretas.

¿Qué hay de nuevo entonces en esta última versión? Dynamics NAV 2017 nos ofrece la funcionalidad «Task Scheduler«, que al habilitarla en nuestro Servidor NAV, permite que las tareas se ejecuten en una sesión en segundo plano y, una vez completada, esta sesión se cierra por completo.

Además, esta última versión del ERP de Microsoft también nos permite definir cuántas tareas se pueden ejecutar de manera simultánea. Todas estas opciones están disponibles en el menú de Administración de Dynamics NAV.

Código C/AL y las colas de proyecto

Como acabo de comentar, ahora disponemos de nuevas funciones para crear y gestionar las colas de proyecto. Desde el menú de funciones C/AL, en el entorno de desarrollo, tenemos el nuevo tipo TASKSCHEDULER con estas nuevas funciones.

"Task Scheduler", la evolución de las colas de proyecto de NAV

Flujo de las tareas

Veamos el proceso que siguen las tareas:

  1. Cuando añadimos la tarea, ésta se guarda en la tabla 2000000175 “Scheduled Task”.
  2. Cuando la tarea está en estado preparado y llega la hora y fecha en la que lo hemos programado, una nueva sesión en segundo plano se abre para ejecutar la Codeunit especificada.
    • Esta sesión podemos verla en la tabla 2000000111 “Session Event”.
  3. Si ocurre un error durante la ejecución de la tarea, se ejecutará la codeunit de error que hayamos indicado pasándole el error. En caso que no haya especificada una codeunit de error, pasa al ciclo de reintentos.

Los reintentos se ejecutan de la siguiente manera, al no ser que la tarea sea interrumpida por la codeunit de error:

Fallos en las tareas

Hay que tener en cuenta que, dado que las tareas se ejecutan en segundo plano, las funciones que requieren una interfaz de usuario no mostrarán ningún tipo de mensaje o error y tendrán un comportamiento similar a la función STARTSESSION suprimiendo los cuadros de diálogo. Si se requiere CONFIRMAR una acción por parte del usuario provoca un fallo en la tarea. Además, pueden producirse fallos por:

Podéis ver estos errores en el visor de eventos del servidor que ejecuta la instancia de Microsoft Dynamics NAV.

Sin embargo, si tenemos en cuenta todo esto, lo cierto es que disponemos de un programador de tareas mucho más completo igualándose al nivel del programador de tareas de Windows. Así que ahora ya tienes una nueva opción para, por ejemplo, controlar cuándo se ejecutan determinadas operaciones o procesos.

Entre los beneficios de la opción “Task Scheduler” encontramos la ejecución de múltiples tareas simultáneas y la gestión de fallos sencilla en caso de que la tarea falle. ¿Qué significa esto? Que ahora te permite indicar una codeunit que se ejecutará en caso de fallo pudiendo trabajar con el error o realizando otras tareas.

Ahora ya estás listo para utilizar las colas de proyecto y si tienes cualquier duda, ¡estamos a tu disposición!

Cristian Flores
Dynamics

 

Si quieres contactar con nosotros puedes enviarnos un email a mkt@aitana.es, usar el formulario de contacto o llamar al 902 500 358.

Nuestras últimas publicaciones:

Tuitear Compartir en Facebook Compartir en G+ Compartir en LinkedIn
Salir de la versión móvil