La console Flusso di lavoro fornisce diversi strumenti per l’amministrazione delle istanze del flusso di lavoro, in modo che vengano eseguite come previsto.
Sono disponibili diverse console per l’amministrazione dei flussi di lavoro. Utilizza la navigazione globale per aprire il riquadro Strumenti, quindi selezionare Flusso di lavoro:
Tramite navigazione, seleziona Strumenti, quindi Flusso di lavoro.
Seleziona Istanze per visualizzare l’elenco delle istanze del flusso di lavoro in esecuzione attualmente in corso.
Nella barra superiore, nell’angolo destro, vengono visualizzate le istanze del flusso di lavoro Flussi di lavoro in esecuzione, Stato, e Dettagli.
Flussi di lavoro in esecuzione mostra il numero di flussi di lavoro in esecuzione e il relativo stato. ad esempio, nelle immagini specificate, viene mostrato il numero di Flussi di lavoro in esecuzione e Stato dell'AEM.
Per Dettagli stato delle istanze del flusso di lavoro, fai clic su Dettagli, per visualizzare numero di istanze di flussi di lavoro in esecuzione, istanze di flusso di lavoro completate, istanze di flusso di lavoro interrotte, istanze di flusso di lavoro non riuscite e così via. ad esempio, di seguito sono riportate le immagini che mostrano Dettagli stato con Stato: integro e Stato: non integro.
Per mantenere integra l’istanza del flusso di lavoro, segui le best practice in eliminazione regolare delle istanze del flusso di lavoro o best practice per i flussi di lavoro.
Tramite navigazione, seleziona Strumenti, quindi Flusso di lavoro.
Seleziona Istanze per visualizzare l’elenco delle istanze del flusso di lavoro attualmente in corso. Nella barra superiore, nell’angolo sinistro, seleziona Filtri. In alternativa, è possibile utilizzare i tasti Alt+1. Viene visualizzata la seguente finestra di dialogo:
Nella finestra di dialogo Filtro, seleziona i criteri di ricerca del flusso di lavoro. Puoi eseguire ricerche in base ai seguenti input:
Tramite navigazione, seleziona Strumenti, quindi Flusso di lavoro.
Seleziona Istanze per visualizzare l’elenco delle istanze del flusso di lavoro attualmente in corso.
Seleziona un elemento specifico, quindi utilizza Termina, Sospendi oppure Riprendi, a seconda del caso; conferma e/o ulteriori dettagli richiesti:
Per terminare o interrompere un flusso di lavoro, è necessario che si trovi in uno stato di attesa dell'intervento dell'utente, ad esempio in un Passaggio partecipante. Il tentativo di interrompere un flusso di lavoro che ha processi in esecuzione (thread attivi in esecuzione) potrebbe non produrre i risultati previsti.
Tramite navigazione, seleziona Strumenti, quindi Flusso di lavoro.
Seleziona Archivio per visualizzare l’elenco delle istanze del flusso di lavoro completate correttamente.
Lo stato di interruzione viene considerato come una terminazione corretta in quanto si verifica in seguito a un’azione dell’utente; ad esempio:
Seleziona un elemento specifico, quindi Cronologia elementi aperti per ulteriori dettagli:
Quando un flusso di lavoro non riesce, AEM mette a disposizione la console Errori per indagare e intraprendere azioni appropriate una volta gestita la causa originale:
Dettagli errore
Apre una finestra per visualizzare
Messaggio di errore, Passaggio e Stack errori**.
Cronologia elementi aperti
Mostra i dettagli della cronologia del flusso di lavoro.
Ritenta passaggio Esegue nuovamente lo script del passaggio dell’istanza del componente. Utilizza il comando Ritenta passaggio dopo aver risolto la causa dell’errore originale. Ad esempio, prova a ripetere il passaggio dopo aver corretto un bug nello script eseguito dal passaggio del processo.
Termina Termina il flusso di lavoro se l’errore ha causato una situazione inconciliabile per il flusso di lavoro. Ad esempio, il flusso di lavoro può basarsi su condizioni ambientali quali le informazioni nell’archivio che non sono più valide per l’istanza del flusso di lavoro.
Termina e riprova simile a Termina tranne per il fatto che una nuova istanza di flusso di lavoro viene avviata utilizzando il payload, il titolo e la descrizione originali.
Per approfondire gli errori, quindi riprendere o terminare il flusso di lavoro in seguito, utilizza i seguenti passaggi:
Tramite navigazione, seleziona Strumenti, quindi Flusso di lavoro.
Seleziona Errori per visualizzare l’elenco delle istanze del flusso di lavoro che non sono state completate correttamente.
Seleziona un elemento specifico, quindi l’azione appropriata:
Minimizzare il numero di istanze del flusso di lavoro aumenta le prestazioni del motore del flusso di lavoro, in modo da poter eliminare regolarmente dall’archivio le istanze del flusso di lavoro completate o in esecuzione.
Configura Adobe configurazione eliminazione flusso di lavoro Granite per eliminare le istanze del flusso di lavoro in base alla loro età e al loro stato. È inoltre possibile eliminare le istanze del flusso di lavoro di tutti i modelli o di un modello specifico.
Puoi anche creare più configurazioni del servizio per eliminare le istanze del flusso di lavoro che soddisfano criteri diversi. Ad esempio, crea una configurazione che elimina le istanze di un particolare modello di flusso di lavoro quando restano in esecuzione per molto più tempo del tempo previsto. Crea un’altra configurazione che elimina tutti i flussi di lavoro completati dopo alcuni giorni per ridurre al minimo le dimensioni dell’archivio.
Per configurare il servizio, puoi settare i file di configurazione OSGi; vedi File di configurazione OSGi. Nella tabella seguente sono descritte le proprietà necessarie per entrambi i metodi.
Per aggiungere la configurazione all’archivio, il PID del servizio è:
com.adobe.granite.workflow.purge.Scheduler
Poiché si tratta di un servizio di fabbrica, il nome del nodo sling:OsgiConfig
richiede un suffisso di identificatore, ad esempio:
com.adobe.granite.workflow.purge.Scheduler-myidentifier
Nome proprietà (console Web) | Nome proprietà OSGi | Descrizione |
---|---|---|
Nome processo | scheduledpurge.name | Nome descrittivo per l’eliminazione pianificata. |
Stato flusso di lavoro | scheduledpurge.workflowStatus | Stato delle istanze del flusso di lavoro da eliminare. I seguenti valori sono validi:
|
Modelli da eliminare | scheduledpurge.modelIds | ID dei modelli di flusso di lavoro da eliminare. L’ID è il percorso del nodo del modello, ad esempio: Per specificare più modelli, fai clic sul pulsante + nella console Web. |
Età del flusso di lavoro | scheduledpurge.daysold | Età in giorni delle istanze del flusso di lavoro da eliminare. |
Puoi impostare la dimensione massima della casella in entrata tramite il Servizio flusso di lavoro di Adobe Granite; vedi aggiungi una configurazione OSGi all’archivio. La tabella seguente descrive le proprietà che puoi configurare.
Per aggiungere la configurazione all’archivio, il PID del servizio è:
com.adobe.granite.workflow.core.WorkflowSessionFactory
.
Nome proprietà (console Web) | Nome proprietà OSGi |
---|---|
Dimensione massima query casella in entrata | granite.workflow.inboxQuerySize |
I dati elaborati dai flussi di lavoro vengono memorizzati nell’archiviazione fornita da Adobe (JCR). Per loro natura tali dati possono essere sensibili. È possibile salvare tutti i metadati/dati definiti dall'utente nel proprio archivio gestito anziché nell'archivio fornito dall'Adobe. Queste sezioni descrivono come impostare queste variabili per l’archiviazione esterna.
Viene fornito un flag a livello di modello di flusso di lavoro per indicare che tale modello (e le sue istanze di runtime) dispone di archiviazione esterna dei metadati. Le variabili del flusso di lavoro non saranno rese persistenti in JCR per quelle istanze dei modelli contrassegnati per l’archiviazione esterna.
La proprietà userMetadataPersistenceEnabled verrà memorizzata nel nodo jcr:content del modello di flusso di lavoro. Questo flag verrà reso persistente nei metadati del flusso di lavoro come cq:userMetaDataCustomPersistenceEnabled.
L’illustrazione seguente mostra come configurare il flag su un flusso di lavoro.
Per memorizzare le variabili esternamente, devi implementare le API esposte dal flusso di lavoro.
UserMetaDataPersistenceContext
Gli esempi seguenti mostrano come utilizzare l’API.
@ProviderType
public interface UserMetaDataPersistenceContext {
/**
* Gets the workflow for persistence
* @return workflow
*/
Workflow getWorkflow();
/**
* Gets the workflow id for persistence
* @return workflowId
*/
String getWorkflowId();
/**
* Gets the user metadata persistence id
* @return userDataId
*/
String getUserDataId();
}
UserMetaDataPersistenceProvider
/**
* This provider can be implemented to store the user defined workflow-data metadata in a custom storage location
*/
@ConsumerType
public interface UserMetaDataPersistenceProvider {
/**
* Retrieves the metadata using a unique identifier
* @param userMetaDataPersistenceContext
* @param metaDataMap of user defined workflow data metaData
* @throws WorkflowException
*/
void get(UserMetaDataPersistenceContext userMetaDataPersistenceContext, MetaDataMap metaDataMap) throws WorkflowException;
/**
* Stores the given metadata to the custom storage location
* @param userMetaDataPersistenceContext
* @param metaDataMap metadata map
* @return the unique identifier that can be used to retrieve metadata. If null is returned, then workflowId is used.
* @throws WorkflowException
*/
String put(UserMetaDataPersistenceContext userMetaDataPersistenceContext, MetaDataMap metaDataMap) throws WorkflowException;
}