¿Ver carpeta que solo procesa un elemento a la vez?

1

Necesito configurar una carpeta de inspección que ejecute un script en cada elemento agregado. Pero la secuencia de comandos podría tardar 10 minutos o más en procesar un solo elemento.

Lo que he hecho es poner este código en la parte superior de mi script que sigue viendo la carpeta y luego actúa cuando se agrega algo:

set watchFolderAlias to (POSIX file watchFolder as alias)
set r to {}
repeat
    tell application "Finder" to set r to ¬
        (sort (get files of watchFolderAlias whose kind is "alias") ¬
            by creation date)
    if (count of r) ≠ 0 then
        do(first item of r as alias)
    end if
    delay 5
end repeat

on do(x)
   (* do 10 minutes of stuff with x *)
end do

... y luego sigo funcionando. Pero esto es engorroso e incómodo.

Pero si adjunto do() stuff como una acción de carpeta, se iniciará una nueva instancia tan pronto como se agregue un elemento ... ¿verdad?

¿Me estoy perdiendo una solución más elegante?

(Para aclarar: si adjunta un script de acción de carpeta a un folder, ese script se ejecuta varias veces , una vez por cada vez que agregue elementos a la carpeta, independientemente de de si ya se está ejecutando otra instancia de dicho script. Esto es lo que trato de evitar. Por ejemplo, si se colocan 10 elementos en la carpeta de visualización y luego, mientras los primeros 10 elementos aún se están procesando, otros 5 los elementos se eliminan, esto iniciará una segunda instancia del script.)

La única otra cosa que puedo hacer es mantener un archivo de "estado" que el script establecerá en "ocupado", e "inactivo" cuando se termine de procesar, para que las otras instancias del script esperen para el estado "inactivo" ... pero esto también es incómodo.

    
pregunta Ze'ev 04.09.2018 - 15:34

1 respuesta

1

Pruebe Hazel desde enlace

No he tenido ningún proceso que haya durado tanto tiempo, pero, según mi experiencia, Hazel siempre parece operar secuencialmente en archivos, y no comenzará un nuevo proceso hasta que se complete el anterior.

Es una aplicación de Mac invaluable, OMI. Lo uso exclusivamente en lugar de Acciones de carpeta. Es una aplicación de pago, pero hay una demo completa y gratuita disponible. El desarrollador también es muy útil y la aplicación está bien mantenida. Muy recomendable.

Creo que tu única otra alternativa es un archivo de bloqueo, lo cual es incómodo, como mencionaste.

    
respondido por el TJ Luoma 05.09.2018 - 14:24

Lea otras preguntas en las etiquetas