v7
Aplica-se somente ao Campaign Classic v7

Práticas recomendadas de workflow workflow-best-practices

Execução e desempenho execution-and-performance

As diretrizes gerais sobre a otimização do desempenho do Campaign estão listadas abaixo, incluindo as práticas recomendadas para aplicar aos workflows.

As diretrizes para solução de problemas relacionados à execução de workflows também estão disponíveis no Guia de produção do Campaign Classic v7.

Logs 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.

    note caution
    CAUTION
    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 Ações localizado na barra de ferramentas acima da lista. Selecione Purge history.
Para saber como limpar seus registros, consulte esta documentação.

Planejamento de workflow workflow-planning

  • 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.

Opção de Executar no mecanismo execute-in-the-engine-option

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

Propriedades do workflow workflow-properties

Pastas de workflow workflow-folders

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 workflow-naming

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 workflow-severity

É 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 do workflow workflow-monitoring

Todos os workflows agendados que estão sendo executados em ambientes de produção devem ser monitorados para que um alerta seja enviado 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 a guia Monitoring para visualizar o status geral dos workflows 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 using-activities

CAUTION
É 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 name-of-the-activity

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 queryquery1query11, mas sim nomes explícitos como querySubscribedRecipients.  Esse nome aparecerá no diário e, se aplicável, nos logs SQL, e isso ajudará a depurar o fluxo de trabalho ao configurá-lo.

Primeira e última atividades first-and-last-activities

  • 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 javascript-within-an-activity

Você pode adicionar JavaScript ao inicializar uma atividade do fluxo de trabalho. Isso pode ser feito na guia Advanced da atividade.

Para facilitar a identificação do fluxo de trabalho, recomendamos usar traços duplos no início e no fim do rótulo da atividade da seguinte maneira: – Meu rótulo --.

Sinal signal

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 fluxo de trabalho workflow-update

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.

recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1