Personalizzare un lavoro del server FlowForce
Nel nostro precedente articolo, intitolato "Automatizzare la mappatura e la trasformazione dei dati con FlowForce Server", abbiamo creato un processo chiamato SimpleMapAndTransform per automatizzare la mappatura dei dati utilizzando MapForce Server e per creare report HTML tramite StyleVision Server. Dopo che il processo FlowForce Server è stato eseguito diverse volte, abbiamo accumulato numerosi file di output nella stessa cartella in cui elaboriamo i file di input, oltre a file temporanei intermedi nella cartella "workFiles", come si può vedere nell'immagine sottostante.

In questo articolo, apporteremo delle modifiche al processo per ottenere risultati più ordinati ed eliminare i file temporanei non necessari.
Riorganizzazione dell'output
Innanzitutto, possiamo aggiungere ulteriori passaggi all'interno del ciclo "per ogni" che elabora i file di input, al fine di spostare i nuovi file .gpx e .html creati durante la mappatura e la trasformazione dei dati, nella cartella "completedInput". Questi sono i passaggi 3 e 4 nella sequenza che segue.
L'opzione "working directory" in ogni fase può anche reindirizzare l'output. Tuttavia, la variabile che abbiamo utilizzato per selezionare ogni file di input da elaborare contiene il percorso completo e il nome del file, quindi è più semplice continuare a utilizzare quella stringa e spostare tutti i file di output al termine dell'elaborazione.

Il nostro design StyleVision per il report include un grafico che viene salvato come file .png separatamente dal documento .html principale. L'ultima fase del processo utilizza una funzione da riga di comando per spostare tutti i file .png dalla cartella di input alla cartella del lavoro completato.
La funzione da riga di comando consente di definire qualsiasi comando valido del sistema operativo come fase di un processo FlowForce Server. In questo processo, ci troviamo ancora all'interno del ciclo "per ogni", quindi i file .png verranno spostati insieme al documento .html associato. Abbiamo utilizzato un carattere jolly per il nome del file .png perché i file .png non seguono esattamente lo schema di denominazione dei documenti di input. Questo schema con carattere jolly funziona anche per i progetti StyleVision che creano più grafici per ogni report.
Fasi per svolgere lavori di pulizia domestica
È buona norma svuotare periodicamente il contenuto delle directory di lavoro. Il nostro sistema utilizza la cartella "workFiles" per estendere il contenuto del file .pxf, necessario per la generazione dei report. Lo screenshot di questa cartella, mostrato nell'immagine in cima a questo testo, mostra lo schema XML, i file di lavoro utilizzati per la progettazione, i file .XSLT necessari per generare diversi formati di report e i file di lavoro temporanei.
Potremmo aggiungere una fase di pulizia dopo il ciclo "for-each" nel nostro processo per eliminare immediatamente i file dopo l'elaborazione. Tuttavia, il server FlowForce consente di eseguire più istanze simultanee dello stesso processo. Sarebbe problematico se un'istanza cancellasse la cartella "workFiles" mentre un'altra istanza la sta ancora utilizzando!
Una soluzione migliore è definire un'attività di pulizia separata e programmarla in modo che venga eseguita quando l'attività principale è inattiva. Ecco un esempio di un'attività di pulizia molto semplice per la cartella "workingFiles", utilizzando nuovamente la funzione da riga di comando:

Abbiamo utilizzato un carattere jolly per eliminare tutti i file presenti nella directory "workFiles", ma questa opzione potrebbe non essere adatta in tutti i casi. Se il file .pxf contiene fogli di stile .css o file immagine necessari al documento .html, sarà necessario eseguire operazioni di pulizia più specifiche.
Trigger di lavoro
Il processo originale "SimpleMapAndTransform" è programmato per essere eseguito ogni 15 minuti, dalle 8:30 alle 17:00, dal lunedì al venerdì. Come indicato sopra, il processo di pulizia è programmato per essere eseguito una volta al giorno alle 19:00. La pagina principale dell'interfaccia web del server FlowForce mostra la pianificazione dei processi:

Ecco un trucco semplice che potete utilizzare per testare un processo FlowForce Server mentre lo definite. Ogni processo può avere più trigger basati sul calendario. Possiamo definire un trigger "una tantum" per testare immediatamente un nuovo processo e programmarlo per l'esecuzione tra pochi secondi:

Possiamo ottenere un riscontro immediato consultando il registro del server FlowForce, che contiene i dettagli di ogni fase del processo.
FlowForce Server è disponibile per le piattaforme Windows, Linux e, a breve, anche per Mac OS. Per iniziare, ** clicca qui per scaricare una versione di prova gratuita!**