Show Menu
TÓPICOS×

Práticas recomendadas do fluxo de trabalho

Execução e desempenho

As diretrizes gerais sobre a otimização do desempenho do Campaign estão listadas abaixo, incluindo as práticas recomendadas para aplicar aos workflows.
Diretrizes para solução de problemas relacionados à execução de workflows também estão disponíveis nesta seção .

Logs

O método logInfo() do JavaScript é uma ótima solução para depurar um fluxo de trabalho. É útil, mas deve ser usado com cuidado, especialmente para atividades executadas com frequência: pode sobrecarregar os logs e aumentar significativamente o tamanho da tabela de log. Mas, também pode ser preciso de mais do que logInfo() .
Duas soluções adicionais estão disponíveis para ajudar:
  • Manter o resultado de públicos provisórios entre duas execuções
    Essa opção mantém tabelas temporárias entre duas execuções de um workflow. Está disponível na guia General das propriedades do fluxo de trabalho e pode ser usado para desenvolvimento e testes para monitorar dados e verificar resultados. Você pode usar essa opção em ambientes de desenvolvimento, mas nunca usá-la em ambientes de produção. Manter tabelas temporárias pode resultar no aumento significativo do tamanho de banco de dados e, por fim, atingir o limite de tamanho. Além disso, o backup ficará lento.
    Somente as tabelas de trabalho da última execução do workflow são mantidas. As tabelas de trabalho das execuções anteriores são removidas pelo fluxo de trabalho cleanup , executado diariamente.
    Essa opção nunca deve ser verificada em um workflow de produção. Essa opção é usada para analisar os resultados e é projetada apenas para fins de teste e, portanto, deve ser usada apenas em ambientes de desenvolvimento ou de preparo.
  • Logs de queries SQL no journal
    Disponível na guia Execution das propriedades do fluxo de trabalho, essa opção registrará todos as consultas SQL geradas pela ferramenta a partir das diferentes atividades. É uma boa forma de ver o que está realmente sendo executado pela plataforma. No entanto, essa opção só deve ser usada temporariamente durante o desenvolvimento e não ativada durante a produção.
Limpe os registros quando não forem mais necessários. O histórico do workflow não é removido automaticamente: todas as mensagens são mantidas por padrão. O histórico pode ser eliminado por meio do menu File > Actions ou clicando no botão Actions localizado na barra de ferramentas acima da lista. Selecione Purge history. Para saber como limpar seus registros, consulte esta documentação .

Planejamento de workflow

  • Tente manter um nível estável de atividade ao longo do dia e evitar picos para prevenir a sobrecarga da instância. Para fazer isso, distribua os horários de início do workflow uniformemente ao longo do dia.
  • Agende a carga de dados durante a noite para reduzir o a contenção de recurso.
  • Workflows longos podem ter impacto no servidor e nos recursos do banco de dados. Divida os workflows mais longos para reduzir o tempo de processamento.
  • Para reduzir os tempos de execução gerais, substitua atividades demoradas por atividades simplificadas e mais rápidas.
  • Evite executar mais de 20 workflows simultaneamente. Quando muitos workflows são executados ao mesmo tempo, o sistema pode ficar sem recursos e se tornar instável. Para obter mais informações sobre por que o workflow pode não estar sendo iniciado, consulte este artigo .

Execução do workflow

É recomendável não agendar um workflow para execução por mais de 15 minutos porque pode atrapalhar o desempenho geral do sistema e criar bloqueios no banco de dados.
Evite deixar os workflows no estado pausado. Se criar um fluxo de trabalho temporário, certifique-se de que ele será concluído corretamente e não permanecerá no estado paused . Se estiver pausado, isso significa que é preciso manter as tabelas temporárias e, portanto, aumentar o tamanho do banco de dados. Atribua supervisores de workflow nas propriedades do workflow para enviar um alerta quando um workflow falhar ou for pausado pelo sistema.
Para evitar workflows no estado pausado:
  • Verifique seus workflows regularmente para garantir que não haja erros inesperados.
  • Mantenha seus workflows o mais simples possível, por exemplo, dividindo grandes workflows em vários workflows diferentes. É possível usar as atividades External signal para acionar a execução com base na execução de outros fluxos de trabalho.
  • Evite desabilitar atividades com fluxos nos fluxos de trabalho, deixando threads abertos e levando a muitas tabelas temporárias que podem consumir muito espaço. Não mantenha as atividades nos estados Do not enable ou Enable but do not execute em seus fluxos de trabalho.
Além disso, pare os workflows não utilizados. Os workflows que continuam em execução mantêm conexões com o banco de dados.
Use apenas parada incondicional nos casos mais raros. Não utilize esta ação regularmente. Não executar um encerramento limpo nas conexões geradas pelos workflows com o banco de dados afeta o desempenho.

Executar na opção do motor

Na janela Workflow properties , nunca marque a opção Execute in the engine . Quando essa opção estiver habilitada, o workflow tem prioridade e todos os outros workflows são interrompidos pelo motor de workflow até que este seja concluído.

Propriedades do workflow

Pastas de workflow

A Adobe recomenda criar seus workflows em uma pasta dedicada.
Se o fluxo de trabalho afetar toda a plataforma (processos de limpeza, por exemplo), é possível considerar adicionar uma subpasta à pasta interna Technical Workflows .

Nomeação do workflow

Como facilita a localização e a solução de problemas se não estiverem executando da forma esperada, a Adobe recomenda que os workflows tenham nomes e rótulos adequados: preencha o campo de descrição do workflow para resumir o processo para que o operador possa entender facilmente.
Se o workflow fizer parte de um processo envolvendo vários workflows, você pode ser explícito ao inserir um rótulo. Usar números é uma ótima maneira de organizar os workflows (por Rótulo).
Por exemplo:
  • 001 – Importar – Importação de recipientes
  • 002 – Importar – Importação de vendas
  • 003 – Importar – Importação de detalhes de vendas
  • 010 – Exportar – Exportação de logs de entregas
  • 011 – Exportar – Exportação de logs de rastreamento

Severidade do workflow

É possível configurar a severidade nas propriedades do fluxo de trabalho, na guia Execution :
  • Normal
  • Produção
  • Crítico
Fornecer essas informações ao criar um workflow ajudará a entender a severidade do processo configurado.
Essa opção tem impacto funcional somente nos workflows da campanha.
Workflows da campanha (workflows criados como parte de uma campanha/operação) com uma severidade mais alta são executados com prioridade caso a campanha tenha muitos processos executados simultaneamente. Por padrão, apenas dez processos podem ser executados simultaneamente em uma campanha, de acordo com a opção NmsOperation_LimitConcurrency. Por exemplo, se uma campanha contêm 25 workflows, os workflows com uma severidade mais alta serão executados no primeiro pool de dez processos.

Monitoramento de workflow

Todos os workflows agendados executados em ambientes de produção devem ser monitorados para enviar alerta em caso de erro.
Nas propriedades do fluxo de trabalho, selecione um grupo supervisor, seja o grupo Workflow supervisors padrão ou um grupo personalizado. Certifique-se de que pelo menos um operador participe desse grupo, com um email definido.
Antes de começar a construir um workflow, lembre-se de definir supervisores de workflow. Eles serão notificados por email em caso de erro. Para obter mais informações, consulte Gerenciando erros .
Verifique regularmente o universo Monitoring para visualizar o status geral dos fluxos de trabalho ativos. Para obter mais informações, consulte Supervisão de instância .
O Workflow HeatMap permite aos administradores da plataforma Adobe Campaign monitorarem a carga na instância e planejarem os workflows correspondentes. Para obter mais informações, consulte Monitoramento de workflow .

Uso das atividades

É possível copiar e colar atividades dentro de um mesmo workflow. No entanto, não recomendamos atividades de copiar e colar em workflows diferentes. Algumas configurações anexadas a atividades como Delivery e Scheduler podem gerar conflitos e erros ao executar o workflow de destino. Em vez disso, recomendamos usar Duplicate nos workflows. Para obter mais informações, consulte Duplicação de workflows .

Nome da atividade

Ao desenvolver seu workflow, todas as atividades terão um nome, como todos os objetos do Adobe Campaign. Embora o nome seja gerado pela ferramenta, recomendamos que você renomeie com um nome explícito ao configurá-lo. O risco de fazer isso depois é que pode interromper o workflow com atividades usando o nome de outra atividade anterior. Portanto, seria um trabalho difícil atualizar os nomes depois.
O nome da atividade pode ser encontrado na guia Advanced . Não use nomes como query , query1 , query11 , mas sim nomes explícitos como querySubscribedRecipients . Esse nome aparecerá no journal e, se aplicável, nos logs SQL, e isso ajudará a depurar o workflow ao configurá-lo.

Primeira e última atividades

  • Sempre inicie o fluxo de trabalho com uma atividade Start ou atividade Scheduler . Quando pertinente, também é possível usar uma atividade External signal .
  • Ao criar o fluxo de trabalho, use apenas uma atividade Scheduler por ramificação. Se a mesma ramificação de um fluxo de trabalho tiver vários schedulers (vinculados uns aos outros), o número de tarefas a serem executadas será multiplicado exponencialmente, o que irá sobrecarregar consideravelmente o banco de dados. Essa regra também se aplica a todas as atividades com uma guia Scheduling & History . Saiba mais em Agendamento .
  • Use atividades End para cada fluxo de trabalho. Isso permite que o Adobe Campaign libere espaço temporário usado para cálculos dentro de workflows. Para obter mais informações, consulte início e fim .

Javascript em uma atividade

Você pode adicionar JavaScript ao inicializar uma atividade do workflow. Isso pode ser feito na guia Advanced da atividade.
Para facilitar a identificação do workflow, recomendamos usar traços duplos no início e no fim do rótulo da atividade da seguinte maneira: -- Meu rótulo --.

Sinal

Na maior parte do tempo, você não saberá de onde o sinal é chamado. Para evitar esse problema, use o campo Comment dentro da guia Advanced da atividade do sinal para documentar a origem esperada de um sinal para essa atividade.

Atualização de workflow

Um workflow de produção não deve ser atualizado diretamente. A menos que o processo consista na criação de uma campanha com templates de workflows, os processos devem ser testados primeiro em um ambiente de desenvolvimento. Após essa validação, o workflow pode ser implantado e iniciado na produção.
Realize todos os testes em ambientes de desenvolvimento ou de preparo, não em ambientes de produção. O desempenho não pode ser assegurado em tais casos.
Os workflows arquivados podem ser mantidos em plataformas de desenvolvimento ou teste, em uma pasta Arquivada, mas o ambiente de produção deve permanecer o mais limpo possível. Os workflows antigos devem ser removidos do ambiente de produção se estiverem inativos.