Al seleccionar la opción de administrar Tareas Programadas, aparecerá la pantalla de listado de Tareas Programadas. Esta pantalla permite realizar el mantenimiento y definición de Tareas Programadas.
OPD incluye la posibilidad de definir tareas programadas para realizar diversas operaciones de mantenimiento e integración.
No existe límite al número de tareas que puede definirse, aunque debe tenerse en cuenta el tiempo de ejecución de cada una de ellas, ya que si se definen demasiadas tareas demasiado complejas, podría ocurrir que no hubieran acabado algunas cuando debe empezarse de nuevo con ellas. Si es necesario puede configurarse el sistema para que distintos grupos de tareas se ejecuten en distintos ordenadores, permitiendo paralelizar el trabajo y escalar el sistema. Para ello las tareas tiene un atributo categoría, que permite agruparlas, de forma que en cada equipo puede ejecutarse todas las tareas programadas de una categoría concreta. Puede indicarse que un equipo ejecute todas las tareas de todas las categorías.
Puede definirse diversas tareas del mismo tipo pero con parámetros diferentes (por ejemplo puede programarse la exportación de una estructura de carpetas/expedientes con una frecuencia y la exportación de otra estructura con otra frecuencia y otro destino).
Para cada tarea definida, además de los parámetros propios de la tarea, se indica la frecuencia de ejecución y la fecha-hora de la próxima ejecución. De esta forma puede programarse la ejecución, por ejemplo cada 7 días, empezando a partir del sábado a las 23:00, o cada hora, empezando a las 9:00.
La ejecución de tareas implica 2 pasos. Cuando llega el día y hora de ejecución de una tarea, se genera una “orden de trabajo” de ejecución de esa tarea (una “fotocopia” de la tarea) por parte del ordenador encargado de generar esa categoría de tareas (o de todas). Esa orden de trabajo a su vez se encola y se llevará a cabo cuando el ordenador(es) encargado(s) de ejecutar finalicen las tareas anteriores. Por tanto la orden se crea en el momento exacto y con los parámetros adecuados, aunque pueda ejecutarse con un ligero retraso. Incluso en caso de algún tipo de incidente, podría no llegar a ejecutarse en su momento. Pero la “orden de trabajo” aparece y queda constancia de estar pendiente. Cuando el componente encargado de ejecutar las tareas se reactive, ejecutará todas las pendientes. Similarmente ocurre con las “órdenes de trabajo”, se generarán todas las que debían haberse generado incluso si no está encendido el ordenador encargado. Por ejemplo, si el ordenador encargado de generar tareas estuviera apagado durante 2 horas, al encenderse generará todas las tareas que debían haberse generado en ese tiempo, no solo las “nuevas”.
La lista de tareas pendientes de ejecutar puede verse en Lista de Tareas Pendientes y la lista de tareas ya terminadas en Lista de Tareas Finalizadas. Es responsabilidad del administrador eliminar la información de las tareas completadas para evitar un crecimiento excesivo de las tablas de base de datos y una reducción del rendimiento.
El sistema descrito es totalmente escalable. En el caso más simple, un solo ordenador puede encargarse de generar y ejecutar las tareas; en un caso complejo, 1 o 2 ordenadores podrían encargarse de generar las órdenes a partir de las tareas y varios de ejecutarlas, cada uno con una categoría asignada, para facilitar el reparto del trabajo.
Puede indicarse que la ejecución de tareas sea transaccional, Es decir que las tareas se realicen sobre todos los objetos afectados (eje, todos los documentos de una carpeta) y si falla cualquier de ellos se anula toda la operación, manteniendo la coherencia, Si no es transaccional, la operación se realizará sobre algunos y podrá fallar en otros.
Las tareas pueden activarse y desactivarse, de forma que pueden estar totalmente definidas y probadas pero no se ejecutan hasta que sea necesario, volviendo a desactivarse cuando se requiera. La activación controla la generación de las “órdenes de trabajo”, es decir si una tarea está desactivada, no se generan "órdenes de trabajo".
Para activar la generación de tareas programadas y la ejecución de tareas (programas o asociadas a eventos) debe editarse el fichero de configuración Prodoc.properties de los equipos en los que se pretenda generar o ejecutar tareas. Los parámetros disponibles son:
Debe ajustarse con cuidado el reparto de tareas. Si varios equipos se les asigna todas las tareas (o el mismo tipo) y la frecuencia de muestreo es alta, pueden llegar a ejecutar la misma tarea simultaneamente, duplicando el resultado o fallando. Si se asigna a varios la misma tarea, los tiempos de muestreo deben ser muy diferentes y estar espaciados. En el caso más sencillo puede tenerse un solo equipo para la ejecucińo de tareas, o uno para cada categoria de tarea.
Similarmente, debe ajustarse con cuidado los tiempos. Si se muestrea con mucha frecuencia, la ejecución se ajustará al segundo o minuto exacto pero se sobrecarga el sistema. Salvo que sea imprescindible, es mejor muestrear con poca frecuencia, aunque se corra el riesgo de retrasar la operación algunos minutos.
Para filtrar las Tareas Programadas que se desea revisar, basta introducir parte del nombre en el cuadro de texto y pulsar el botón. La lista de Tareas Programadas que cumplen las condiciones aparecerá en la tabla de resultados. Si se pulsa el botón sin introducir ningún valor se visualizará todos los elementos sobre los que tenga permiso el usuario.La tabla de resultados muestra los datos:
Esa tabla de resultados puede ordenarse seleccionando la cabecera de cada columna. Puede también cambiarse el tamaño de cada columna arrastrando la línea separadora de las cabeceras
Sobre la tabla de resultados se dispone de varios botones que permiten realizar operaciones sobre el elemento seleccionado. Las operaciones disponibles son:
Debe tenerse en cuenta al exportar e importar que algunos elementos pueden tener dependencia de otros, por lo que debe exportarse todos los elementos relacionados y en el momento de importarse hacerlo en el orden adecuado
En caso de producirse un error (carencia de permisos del usuario, incoherencia de los datos, etc), la operación se cancela y se comunicará al usuario el motivo del error.
Ver: Mantenimiento Tareas Programadas, Lista de Tareas Pendientes y Lista de Tareas Finalizadas