Come force launchd non deve esaminare le sottocartelle con il parametro QueueDirectories in launchd.plist

0

Sto elaborando le immagini inserite in una cartella specifica.

Per questo eseguo script con launchd.plist inserito in ~/Library/LaunchAgents
Tutto funziona perfettamente. Ma voglio mettere i file risultanti in una sottocartella di quella cartella.
La cartella non è vuota, ha una sottocartella, quindi il mio script viene eseguito più e più volte ogni 10 secondi.
Non c'è niente da elaborare. Ma launchd esegue script dieci volte al minuto sprecando risorse. Come posso nascondere da launchd sottocartelle nelle cartelle dal parametro QueueDirectories ?
I nomi dei file sono arbitrari, quindi non posso usare il parametro WatchPaths .
Credo che un parametro come maxdepth debba esistere.

Qualche soluzione?

    
posta Valeriy Van 21.09.2012 - 15:55
fonte

1 risposta

1

QueueDirectories non funzionerà comunque, perché si attiverebbe nelle sottodirectory stesse indipendentemente dal fatto che avessero o meno dei file al loro interno. La semplice esistenza di sottodirectory nelle directory guardate attiverà il copione.

Invece, dovresti usare WatchPaths nella stessa directory principale - ogni volta che un nuovo file immagine viene aggiunto alla directory, la directory viene modificata, quindi WatchPath attiverà lo script per elaborare il file. Spostando il file immagine si modificherà nuovamente la directory, ma dal momento che accade mentre è in esecuzione lo script non attiverà un rieseguimento.

    
risposta data 21.09.2012 - 17:28
fonte

Leggi altre domande sui tag