Administrera arbetsflödesinstanser

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.

OBSERVERA

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:

  • Models: Hantera arbetsflödesdefinitioner
  • Instanser: Visa och hantera pågående arbetsflödesinstanser
  • Startare: Hantera hur arbetsflöden startas
  • Arkiv: Visa historik över arbetsflöden som har slutförts
  • Fel: Visa historik över arbetsflöden som slutförts med fel
  • Tilldela automatiskt: Konfigurera automatisk tilldelning av arbetsflöden till mallar

Övervaka status för arbetsflödesinstanser

  1. Använda navigeringsval verktyg sedan Arbetsflöde.

  2. Välj Instanser om du vill visa en lista över pågående arbetsflödesinstanser.

    wf-96

Göra uppehåll, återuppta och avsluta en arbetsflödesinstans

  1. Använda navigeringsval verktyg sedan Arbetsflöde.

  2. Välj Instanser om du vill visa en lista över pågående arbetsflödesinstanser.

    wf-96-1

  3. 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:

    wf-97-1

Visa arkiverade arbetsflöden

  1. Använda navigeringsval verktyg sedan Arbetsflöde.

  2. Välj Arkiv om du vill visa en lista över arbetsflödesinstanser som har slutförts.

    wf-98

    OBSERVERA

    Avbrottsstatusen betraktas som ett slutfört avbrott eftersom det inträffar som ett resultat av en användaråtgärd, till exempel:

    • användning av Avsluta åtgärd
    • när en sida, som är underställd ett arbetsflöde, tas bort (framtvingar), kommer arbetsflödet att avslutas
  3. Markera ett specifikt objekt och sedan Öppna historik om du vill ha mer information:

    wf-99

Åtgärdar fel i arbetsflödesinstansen

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:

  1. Använda navigeringsval verktyg sedan Arbetsflöde.

  2. Välj Fel för att visa en lista över arbetsflödesinstanser som inte har slutförts korrekt.

  3. Välj ett specifikt objekt och sedan lämplig åtgärd:

    wf-47

Vanlig tömning av arbetsflödesinstanser

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.

OBSERVERA

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:

  • SLUTFÖRT: Slutförda arbetsflödesinstanser rensas.
  • KÖRNING: Körande arbetsflödesinstanser rensas.
Modeller att tömma scheduledpurge.modelIds

ID:t för arbetsflödesmodellerna som ska rensas. ID är sökvägen till modellnoden, till exempel:
/var/workflow/models/dam/update_asset

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.

Ange maximal storlek för inkorgen

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.

OBSERVERA

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

Använda arbetsflödesvariabler för kundägda datalager

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.

Ange modellen för extern lagring av metadata

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.

workflow-externalize-config

API:er för metadata i extern lagring

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;
}

På denna sida