Ayuda de watchDirectory > Extensiones > Ejecutar múltiples tareas (Pro)
Cuidado al eliminar archivos
Si se configura una subtarea para eliminar, mover o renombrar algún archivo detectado, podrían fallar las siguientes subtareas.
Consejo: Usar el archivo resultante de una subtarea como el archivo inicial de la siguiente
Aunque no se puede usar de forma directa el archivo resultante de una subtarea como archivo de entrada de otra subtarea, este pequeño truco puede ayudar.
Supongamos que la subtarea-1 comprime archivos a formato ZIP, y queremos que la subtarea-2 envíe este archivo ZIP por correo electrónico.
Configuraremos la subtarea-1 (la tarea que crea el archivo ZIP), estableciendo su máscara de archivo como "*.zip", y seleccionaremos la opción "reversed meaning" (significado contrario). El efecto será que la subtarea-1 se ejecutará para todos los archivos, excepto para archivos ZIP.
Configuraremos la subtarea-2 (la tarea que envía el archivo ZIP por correo electrónico), y estableceremos su máscara de archivo como "*.zip". En este caso no seleccionaremos la opción "reversed meaning".
Run Multiple Tasks for Detected Files (Ejecutar múltiples tareas para los archivos detectados)
Esta extensión solo está disponible en la edición Profesional de watchDirectory.Esta extensión ejecutará múltiples "subtareas" cuando se detecten archivos nuevos o modificados. Se activarán todas las subtareas para el mismo archivo.
En comparación con la ejecución de las tareas por separado, el uso de esta extensión tiene algunas ventajas, tales como:
- Menos tareas a ejecutar.
Una subtarea consume menos recursos (CPU, memoria...) que una tarea "real". - Menos accesos a disco.
Todas las subtareas comparten la misma detección de archivos de su tarea principal. - Orden de ejecución garantizado.
Si existen múltiples tareas monitorizando la misma carpeta, nunca se puede estar seguro de qué tarea detectará primero el cambio (archivo nuevo o modificado). Las subtareas siempre se ejecutarán en el órden configurado. - Mejor control visual, mantenimiento más sencillo.
Diez tareas, cada una de ellas conteniendo diez subtareas (10x10=100 subtareas), se gestionan de forma mucho más sencilla que 100 tareas "reales". - Prevenir las limitaciones del sistema operativo.
Windows™ puede ejecutar un número limitado de servicios. Combinando varias tareas se previene llegar a ese límite.
Existen unas pocas limitaciones:
- Todas las subtareas se ejecutan para el archivo DETECTADO.
Actualmente, no existe una forma simple para usar el "archivo resultante" de una subtarea como "archivo inicial" de otra. Sin embargo, existe una forma de emularlo, que puede ser de utilidad en algunos casos - ver consejo en la zona derecha. - No todas las extensiones estan soportadas como subtareas.
Ver la sección "Extensiones soportadas" en la barra lateral para un listado completo. Ver también la nota sobre extensiones al final de esta página para identificar algunos problemas potenciales derivados de su uso. - Una única carpeta monitorizada.
Todas las subtareas comparten el mismo motor de detección de archivos y sus configuraciones. - Solo puede reaccionar ante archivos nuevos y modificados.
Esta extensión no soporta, por ejemplo, los eventos de archivos renombrados o eliminados.
How to run the SubTasks (Cómo ejecutar las subtareas)
Las subtareas se pueden ejecutar de 3 formas diferentes:
- Run Only 1 SubTask - the First one that Matches (Ejecutar solo 1 subtarea - la primera que coincida con la máscara)
Cada subtarea puede tener definidas 1 o más máscaras de archivo (por ejemplo, *.doc). Si selecciona este modo de ejecución, solo 1 subtarea, a lo sumo, gestionará el archivo detectado.
Hay que tener en cuenta que el órden de las subtareas es importante para este modo de ejecución. - Run All SubTasks - Stop on Failure (Ejecutar todas las subtareas - Detenerse en caso de error)
Todas las subtareas cuya máscara de archivo coincida con el archivo detectado serán ejecutadas. En caso que una subtarea falle, el resto de subtareas no se ejecutarán. - Run All SubTasks - Continue on Failure (Ejecutar todas las subtareas - Continuar en caso de error)
Todas las subtareas cuya máscara de archivo coincida con el archivo detectado serán ejecutadas. Aunque una subtarea falle, el resto de subtareas se ejecutará.
Create a new SubTask (Crear una nueva subtarea)
Se puede crear una nueva subtarea de varias formas:
- Copiando la configuración de otra tarea.
- Seleccione la tarea a copiar de la lista desplegable "Create new SubTask based on" (Crear la nueva subtarea basada en)
- Asignar un nombre de subtarea único
- Hacer clic sobre el botón "Add" (Añadir)
- Copiando otra subtarea.
- Seleccionar la subtarea a copiar
- Asignar un nombre de subtarea único
- Hacer clic sobre el botón "Copy" (Copiar)
- "Empezando de cero".
- Seleccionar la extensión a utilizar de la lista desplegable "Create new SubTask based on" (Crear la nueva subtarea basada en). Las descripciones se muestran en negrita
- Asignar un nombre de subtarea único
- Hacer clic sobre el botón "Add" (Añadir)
- Configurar la subtarea de forma apropiada
Después de crear la nueva subtarea, se abrirá de forma automática la ventana configuración de subtarea. Si se ha creado la nueva subtarea usando el método 3, se debe configurar la extensión correctamente, ya que sus opciones estarán "vacías". Si se ha usado alguno de los otros 2 métodos, se habrá copiado la configuración de la extensión original.
Nota sobre extensiones
Consideraciones acerca de las extensiones soportadas.
Copiar archivos de forma automática
Si se utiliza esta extensión como una subtarea, y se selecciona la opción "remove the file after successful copy"
(eliminar el archivo después de copiarlo con éxito), otras subtareas que se ejecuten
después de ésta seguramente fallarán, pues el archivo detectado ya no existe. Si esta es la última subtarea en ejecutarse, esta opción
no causará ningún problema.
Eliminar archivos de forma automática
Esta extensión se usa generalmente como la última subtarea del grupo. Si se configura otra subtarea después de esta, lo más probable es que falle pues el archivo detectado ya no existe.
Enviar un correo electrónico para los archivos detectados
Esta extensión solo se encarga de preparar el correo electrónico para ser enviado. El correo electrónico se envía realmente un poco después por la tarea wdPostman (System.Mail).
Si se configura la subtarea de envío de correo electrónico para que adjunte el archivo detectado al envío y se ha configurado otra subtarea para eliminar dicho archivo, incluso si esa segunda subtarea se ejecuta después
de la tarea de envío del correo electrónico, el archivo detectado podría haber sido ya eliminado cuando se envíe realmente el correo electrónico.
Recomendación: configurar la subtarea de envío de correo electrónico para ser ejecutada como la última subtarea, y configurarla para que sea esta subtarea la que elimine el archivo.
Subir archivos de forma automática
Si se selecciona la opción Delete the file (Eliminar el archivo) o Move the file to... (Mover el archivo a) para esta subtarea, las siguientes subtareas pueden fallar porque el archivo detectado ya no se encuentre.
Renobrar archivos
Si se utiliza esta extensión, se debería configurar generalmente como la última subtarea. Si otra subtarea se configura después de esta, puede fallar al haberse renombrado el archivo detectado.
Descomprimir archivos
Si se utiliza esta extensión como una subtarea, y se selecciona la opción "Delete ZIP file after uncompressing" (Eliminar el archivo ZIP después de la descompresión),
otras subtareas que se deban ejecutar después de esta seguramente fallarán ya que el archivo ZIP detectado ya no existe.
Si esta es la última subtarea, esta opción no causará ningún problema.




