La console del flusso di lavoro fornisce diversi strumenti per l’amministrazione delle istanze del flusso di lavoro, in modo che vengano eseguite come previsto.
La Console JMX fornisce ulteriori operazioni di manutenzione del flusso di lavoro.
Sono disponibili diverse console per l’amministrazione dei flussi di lavoro. Utilizza la navigazione globale per aprire Strumenti riquadro, quindi selezionare Flusso di lavoro:
Selezione tramite navigazione Strumenti, quindi Flusso di lavoro.
Seleziona Istanze per visualizzare l’elenco delle istanze del flusso di lavoro attualmente in corso.
Selezione tramite navigazione 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:
Selezione tramite navigazione 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, se del caso; conferma e/o ulteriori dettagli sono richiesti:
Selezione tramite navigazione Strumenti, quindi Flusso di lavoro.
Seleziona Archivia 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 aperta per ulteriori dettagli:
Quando un flusso di lavoro non riesce, AEM fornisce la Errori console 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 aperta
Mostra i dettagli della cronologia del flusso di lavoro.
Passaggio del nuovo tentativo Esegue nuovamente l'istanza del componente Passaggio script. Utilizzare il comando Riprova 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 irreprensibile 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 indagare gli errori, quindi riprendere o terminare il flusso di lavoro in seguito, utilizza i seguenti passaggi:
Selezione tramite navigazione 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 Configurazione di eliminazione del flusso di lavoro di Adobe 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 sono in esecuzione per molto più tempo del tempo previsto. Crea un’altra configurazione che elimina tutti i flussi di lavoro completati dopo un certo numero di giorni per ridurre al minimo le dimensioni dell’archivio.
Per configurare il servizio, puoi utilizzare la funzione Console web o aggiungi una configurazione OSGi all’archivio. 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é il servizio è un servizio di fabbrica, il nome sling:OsgiConfig
Il nodo 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 | Un nome descrittivo per l'eliminazione pianificata. |
Stato flusso di lavoro | scheduledpurge.workflowStatus | Lo 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, fare clic sul pulsante + nella console Web. |
Età del flusso di lavoro | scheduledpurge.daysold | L’età in giorni delle istanze del flusso di lavoro da eliminare. |
Puoi impostare la dimensione massima della casella in entrata configurando la Servizio flusso di lavoro di Adobe Granite, utilizzando Console web o aggiungi una configurazione OSGi all’archivio. Nella tabella seguente viene descritta la proprietà configurata per entrambi i metodi.
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’Adobe fornito di storage (JCR). Questi dati possono essere sensibili in natura. È possibile salvare tutti i metadati/dati definiti dall'utente nell'archivio gestito anziché nell'archiviazione fornita dall'Adobe. In queste sezioni viene descritto come impostare queste variabili per lo storage esterno.
A livello di modello di flusso di lavoro, viene fornito un flag per indicare che il modello (e le sue istanze di runtime) dispone di archiviazione esterna dei metadati. Le variabili del flusso di lavoro non verranno mantenute in JCR per le istanze del flusso di lavoro dei modelli contrassegnati per lo storage esterno.
La proprietà userMetadataPersistenceEnabled verranno memorizzati nel jcr:content node del modello di flusso di lavoro. Questo flag viene mantenuto nei metadati del flusso di lavoro come cq:userMetaDataCustomPersistenceEnabled.
L’illustrazione seguente mostra come impostare il flag su un flusso di lavoro.
Per memorizzare le variabili esternamente, devi implementare le API che il flusso di lavoro espone.
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;
}