Administração de instâncias do fluxo de trabalho administering-workflow-instances
O console do fluxo de trabalho fornece várias ferramentas para administrar instâncias do fluxo de trabalho e garantir que elas estejam em execução conforme esperado.
Há vários consoles disponíveis para administrar seus fluxos de trabalho. Use a navegação global para abrir o painel Ferramentas e selecione Fluxo de trabalho:
- Modelos: gerenciar definições de fluxo de trabalho
- Instâncias: exibir e gerenciar instâncias de fluxos de trabalho em execução
- Iniciadores: gerenciar o modo como os fluxos de trabalho devem ser inicializados
- Arquivo: exibir o histórico de fluxos de trabalho que foram concluídos com sucesso
- Falhas: exibir o histórico de fluxos de trabalho que foram concluídos com erros
- Atribuição automática: configurar a atribuição automática de fluxos de trabalho aos modelos
Monitorar o status de instâncias de fluxo de trabalho monitoring-the-status-of-workflow-instances
-
Usando a navegação, selecione Ferramentas e, em seguida, Fluxo de trabalho.
-
Selecione Instâncias para exibir a lista de instâncias de fluxo de trabalho em andamento.
Suspensão, retomada e encerramento de uma instância de fluxo de trabalho suspending-resuming-and-terminating-a-workflow-instance
-
Usando a navegação, selecione Ferramentas e, em seguida, Fluxo de trabalho.
-
Selecione Instâncias para exibir a lista de instâncias de fluxo de trabalho em andamento.
-
Selecione um item específico e use Encerrar, Suspender ou Retomar, conforme adequado; é necessária uma confirmação e/ou outros pormenores:
Visualização de fluxos de trabalho arquivados viewing-archived-workflows
-
Usando a navegação, selecione Ferramentas e, em seguida, Fluxo de trabalho.
-
Selecione Arquivar para exibir a lista de instâncias de fluxo de trabalho concluídas com êxito.
note note NOTE O status interrompido é considerado um encerramento bem-sucedido, pois ocorre como resultado da ação do usuário; por exemplo: - o uso da ação Encerrar
- quando uma página que está sujeita a um fluxo de trabalho é excluída (à força), o fluxo de trabalho é encerrado
-
Selecione um item específico e Abra o histórico para ver mais detalhes:
Correção de falhas na instância do fluxo de trabalho fixing-workflow-instance-failures
Quando um fluxo de trabalho falha, o AEM fornece o console Falhas, que permite investigar e tomar as medidas apropriadas após tratar a causa original:
-
Detalhes da falha
Abre uma janela para mostrar a Mensagem de Falha, Etapa e Pilha de Falhas. -
Abrir histórico
Mostra detalhes do histórico do fluxo de trabalho. -
Repetir Etapa - Executa a instância do componente Etapa do Script novamente. Use o comando Repetir etapa após corrigir a causa do erro original. Por exemplo, repita a etapa depois de corrigir um erro no script que a Etapa do processo executa.
-
Encerrar - Encerra o fluxo de trabalho se o erro tiver gerado uma situação irreparável para o fluxo de trabalho. Por exemplo, o fluxo de trabalho pode depender de condições ambientais, como informações no repositório que não são mais válidas para a instância do fluxo de trabalho.
-
Encerrar e repetir - Semelhante a Encerrar, exceto que uma nova instância de fluxo de trabalho é iniciada usando a carga, o título e a descrição originais.
Para investigar falhas e, em seguida, retomar ou encerrar o fluxo de trabalho, use as seguintes etapas:
-
Usando a navegação, selecione Ferramentas e, em seguida, Fluxo de trabalho.
-
Selecione Falhas para exibir a lista de instâncias de fluxo de trabalho que não foram concluídas com êxito.
-
Selecione um item específico e, em seguida, a ação apropriada:
Limpeza regular de instâncias de fluxo de trabalho regular-purging-of-workflow-instances
Minimizar o número de instâncias de fluxo de trabalho aumenta o desempenho do motor de workflow. Portanto, você pode remover regularmente do repositório as instâncias de fluxo de trabalho concluídas ou em execução.
Defina a configuração de limpeza de fluxos de trabalho do Adobe Granite para remover instâncias de fluxo de trabalho de acordo com sua idade e status. Você também pode remover as instâncias de fluxo de trabalho de todos os modelos ou de um modelo específico.
Você também pode criar várias configurações do serviço para remover as instâncias de fluxo de trabalho que satisfaçam critérios diferentes. Por exemplo, crie uma configuração que remova as instâncias de um modelo de fluxo de trabalho específico quando elas estiverem em execução por mais tempo do que o esperado. Crie outra configuração que remova todos os fluxos de trabalho concluídos após um determinado número de dias para minimizar o tamanho do repositório.
Para configurar o serviço, você pode usar o Console da Web ou adicionar uma configuração OSGi ao repositório. A tabela a seguir descreve as propriedades necessárias para qualquer método.
com.adobe.granite.workflow.purge.Scheduler
sling:OsgiConfig
requer um sufixo identificador. Por exemplo:com.adobe.granite.workflow.purge.Scheduler-myidentifier
Configuração do tamanho máximo da caixa de entrada setting-the-maximum-size-of-the-inbox
Você pode definir o tamanho máximo da caixa de entrada configurando o Serviço de Fluxo de Trabalho do Adobe Granite, usando o Console da Web ou adicionar uma configuração OSGi ao repositório. A tabela a seguir descreve a propriedade que você configura para qualquer método.
com.adobe.granite.workflow.core.WorkflowSessionFactory
.Uso de variáveis de fluxo de trabalho para armazenamentos de dados de propriedade do cliente using-workflow-variables-customer-datastore
Os dados processados por fluxos de trabalho são armazenados no armazenamento fornecido pela Adobe (JCR). Esses dados podem ser de natureza sensível. É recomendado salvar todos os metadados/dados definidos pelo usuário em seu próprio armazenamento gerenciado, em vez de usar o armazenamento fornecido pela Adobe. Essas seções descrevem como configurar essas variáveis em um armazenamento externo.
Definir o modelo para usar o armazenamento externo de metadados set-model-for-external-storage
No nível do modelo de fluxo de trabalho, um sinalizador é fornecido para indicar que o modelo e suas instâncias de tempo de execução têm acesso ao armazenamento externo de metadados. As variáveis de fluxo de trabalho não são mantidas no JCR para as instâncias de fluxo de trabalho dos modelos marcados para armazenamento externo.
A propriedade userMetadataPersistenceEnabled será armazenada no nó jcr:content do modelo de fluxo de trabalho. Esse sinalizador será mantido nos metadados do fluxo de trabalho como cq:userMetaDataCustomPersistenceEnabled.
A ilustração abaixo mostra como definir o sinalizador em um fluxo de trabalho.
APIs de metadados no armazenamento externo apis-for-metadata-external-storage
Para armazenar as variáveis externamente, implemente as APIs que o fluxo de trabalho expõe.
UserMetaDataPersistenceContext
Os exemplos a seguir mostram como usar a 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;
}