Arbetsflödeskonsolen innehåller flera verktyg för att administrera arbetsflödesinstanser för att säkerställa att de körs som förväntat.
The JMX-konsol tillhandahåller ytterligare underhållsåtgärder för arbetsflöden.
Det finns en rad konsoler som du kan använda för att administrera dina arbetsflöden. Använd global navigering för att öppna verktyg välj Arbetsflöde:
Använda navigeringsval verktyg sedan Arbetsflöde.
Välj Instanser om du vill visa en lista över pågående arbetsflödesinstanser.
Använda navigeringsval verktyg sedan Arbetsflöde.
Välj Instanser om du vill visa en lista över pågående arbetsflödesinstanser.
Markera ett specifikt objekt och använd sedan Avsluta, Gör uppehåll, eller Återuppta, beroende på vad som är tillämpligt; bekräftelse och/eller ytterligare uppgifter krävs:
Använda navigeringsval verktyg sedan Arbetsflöde.
Välj Arkiv om du vill visa en lista över arbetsflödesinstanser som har slutförts.
Avbrottsstatusen betraktas som ett slutfört avbrott eftersom det inträffar som ett resultat av en användaråtgärd, till exempel:
Markera ett specifikt objekt och sedan Öppna historik om du vill ha mer information:
När ett arbetsflöde misslyckas, innehåller AEM Fel konsol där du kan undersöka och vidta lämpliga åtgärder när originalorsaken har hanterats:
Felinformation
Öppnar ett fönster för att visa Felmeddelande, Steg och Felstapel.
Öppna historik
Visar information om arbetsflödeshistoriken.
Försök igen Kör komponentinstansen Script Step igen. Använd kommandot Försök igen när du har åtgärdat orsaken till det ursprungliga felet. Du kan till exempel försöka utföra steget igen när du har åtgärdat ett fel i skriptet som utförs av processteget.
Avsluta Avsluta arbetsflödet om felet har orsakat en oförenlig situation för arbetsflödet. Arbetsflödet kan t.ex. förlita sig på miljöförhållanden som information i databasen som inte längre är giltig för arbetsflödesinstansen.
Avsluta och försök igen Liknar Avsluta förutom att en ny arbetsflödesinstans startas med den ursprungliga nyttolasten, titeln och beskrivningen.
Så här undersöker du fel och sedan återupptar eller avslutar du arbetsflödet:
Använda navigeringsval verktyg sedan Arbetsflöde.
Välj Fel för att visa en lista över arbetsflödesinstanser som inte har slutförts korrekt.
Välj ett specifikt objekt och sedan lämplig åtgärd:
Om du minimerar antalet arbetsflödesinstanser ökas arbetsflödesmotorns prestanda, så att du regelbundet kan rensa avslutade eller pågående arbetsflödesinstanser från databasen.
Konfigurera Rensa arbetsflöde för Adobe Granite för att rensa arbetsflödesinstanser utifrån deras ålder och status. Du kan också rensa arbetsflödesinstanser av alla modeller eller av en viss modell.
Du kan också skapa flera konfigurationer av tjänsten för att rensa arbetsflödesinstanser som uppfyller olika villkor. Skapa till exempel en konfiguration som tömmer instanser av en viss arbetsflödesmodell när de körs mycket längre än förväntat. Skapa en annan konfiguration som tömmer alla slutförda arbetsflöden efter ett visst antal dagar för att minimera databasens storlek.
Om du vill konfigurera tjänsten kan du använda Webbkonsol eller lägga till en OSGi-konfiguration i databasen. I följande tabell beskrivs de egenskaper som du behöver för någon av metoderna.
För att lägga till konfigurationen i databasen är tjänst-PID:
com.adobe.granite.workflow.purge.Scheduler
Eftersom tjänsten är en fabrikstjänst är namnet på sling:OsgiConfig
noden kräver ett identifierarsuffix, till exempel:
com.adobe.granite.workflow.purge.Scheduler-myidentifier
Egenskapsnamn (webbkonsol) | OSGi-egenskapsnamn | Beskrivning |
---|---|---|
Jobbnamn | scheduledpurge.name | Ett beskrivande namn för den schemalagda rensningen. |
Arbetsflödesstatus | scheduledpurge.workflowStatus | Status för de arbetsflödesinstanser som ska rensas. Följande värden är giltiga:
|
Modeller att tömma | scheduledpurge.modelIds | ID:t för arbetsflödesmodellerna som ska rensas. ID är sökvägen till modellnoden, till exempel: Om du vill ange flera modeller klickar du på plusknappen (+) i webbkonsolen. Ange inget värde för att rensa instanser av alla arbetsflödesmodeller. |
Arbetsflödesålder | scheduledpurge.daysold | Åldern på arbetsflödesinstanserna som ska rensas, i dagar. |
Du kan ange den maximala storleken för inkorgen genom att konfigurera Adobe Granite Workflow Service, med Webbkonsol eller lägga till en OSGi-konfiguration i databasen. I följande tabell beskrivs egenskapen som du konfigurerar för båda metoderna.
För att lägga till konfigurationen i databasen är tjänst-PID:
com.adobe.granite.workflow.core.WorkflowSessionFactory
.
Egenskapsnamn (webbkonsol) | OSGi-egenskapsnamn |
---|---|
Max Inbox Query Size | granite.workflow.inboxQuerySize |
Data som bearbetas av arbetsflöden lagras i den Adobe-tillhandahållna lagringen (JCR). Dessa data kan vara känsliga till sin natur. Du kanske vill spara alla användardefinierade metadata/data i ditt egna hanterade lagringsutrymme i stället för det lagringsutrymme som tillhandahålls av Adobe. I dessa avsnitt beskrivs hur du ställer in dessa variabler för extern lagring.
På arbetsflödesmodellnivån anges en flagga som anger att modellen (och dess körningsinstanser) har extern lagring av metadata. Arbetsflödesvariabler sparas inte i JCR för arbetsflödesinstanser av modeller som är markerade för extern lagring.
Egenskapen userMetadataPersistenceEnabled lagras på jcr:innehållsnod av arbetsflödesmodellen. Den här flaggan bevaras i arbetsflödets metadata som cq:userMetaDataCustomPersistenceEnabled.
Bilden nedan visar hur du anger flaggan i ett arbetsflöde.
För att kunna lagra variablerna externt måste du implementera de API:er som arbetsflödet visar.
UserMetaDataPersistenceContext
I följande exempel visas hur du använder API:t.
@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;
}