Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Introdução

Este artigo contém informações sobre cenários de estrangulamento e limitações para fluxos de trabalho que utilizam o tipo de plataforma de fluxo de trabalho SharePoint 2013 no SharePoint e Project na Microsoft 365.

Nota: Os fluxos de trabalho do SharePoint 2010 estão reformados desde 1 de agosto de 2020 para novos inquilinos e retirados dos inquilinos existentes a 1 de novembro de 2020.  Se estiver a utilizar fluxos de trabalho do SharePoint 2010, recomendamos migrar para Power Automamate ou outras soluções suportadas. Para mais informações, consulte a reforma do fluxo de trabalho sharePoint 2010.

Mais Informações

Para saber mais sobre o estrangulamento no SharePoint, vá a How to: Evite ser estrangulado ou bloqueado no SharePoint.


Para saber mais sobre os limites de mensagens de correio eletrónico para fluxos de trabalho do SharePoint, vá para "O limite diário de e-mail excedeu e o seu fluxo de trabalho foi suspenso" erro no SharePoint.


A atividade de fluxo de trabalho sharePoint 2013 pode ser regulada por dois níveis de estrangulamento:

  • Intervalo do SharePoint

  • Estrangulamento do serviço de fluxo de trabalho

Estrangulamento do serviço de fluxo de trabalho

O estrangulamento é realizado para permitir uma utilização justa dos recursos. Também protege o ambiente de fluxos de trabalho prejudiciais e fluxos de trabalho que não seguem as melhores práticas. O estrangulamento do serviço workflow não é controlado pela SharePoint. O serviço de fluxo de trabalho e o SharePoint são dois serviços independentes, e cada serviço acelera os pedidos no interesse da saúde geral do serviço. No serviço de fluxo de trabalho, o estrangulamento é realizado ao nível de âmbito de fluxo de trabalho que se alinha com os sites sharePoint. A aceleração não é globalmente contabilizada. Em vez disso, cada serviço de back-end de fluxo de trabalho rastreia o uso de um âmbito de fluxo de trabalho de forma independente. Pode haver um ou mais fluxos de trabalho num âmbito de fluxo de trabalho. O estrangulamento do fluxo de trabalho é dinâmico e será reavaliado periodicamente pelo âmbito do fluxo de trabalho e pelo back end do serviço de fluxo de trabalho. 

O serviço Workflow também limita o número de pedidos de saída que uma única instância de fluxo de trabalho pode gerar. Num período de 24 horas, uma única instância de fluxo de trabalho pode gerar até 5.000 pedidos de saída. Após 5.000 pedidos de saída gerados num período de 24 horas, o fluxo de trabalho é suspenso pelo serviço workflow.

A página de Estado do Fluxo de Trabalho para o fluxo de trabalho conterá informações sobre o fluxo de trabalho suspenso. Neste cenário, o balão de informação para o Estado Interno apresentará a seguinte mensagem:

  • O caso excedeu a quota de pedido de saída para um período de tempo de 1.00:00:00. O limite de pedido de 5000 foi atingido em <tempo>.

    NOTA: O <tempo> espaço reservado representa o tempo que demorou a atingir o limite de 5.000 pedidos para o seu fluxo de trabalho.

Pode retomar a instância de fluxo de trabalho suspensa clicando em Currículo para o fluxo de trabalho ou utilizando o Modelo de Objeto de Cliente do Fluxo de Trabalho sharePoint após o passar de 24 horas. Isto deve ocorrer antes de o fluxo de trabalho ser interrompido.

Se o fluxo de trabalho exceder o limite de utilização do CPU, a página de Estado do Fluxo de Trabalho para o fluxo de trabalho conterá informações sobre o fluxo de trabalho suspenso. Neste cenário, o balão de informação para o Estado Interno apresentará a seguinte mensagem: 

  • A instância de fluxo de trabalho excedeu o limite de utilização do CPU de aceleração de 00:00:01.2000000 e não pôde ser descarregada por não ser pernosa.


As instâncias de fluxo de trabalho suspensas serão encerradas após 10 dias. O balão de informação para o Estado Interno apresentará a seguinte mensagem se o fluxo de trabalho for encerrado:

  • System.Activities.Statements.WorkflowTerminatedException: A ocorrência foi transferida do estado suspenso para o estado encerrado porque expirou.

Um fluxo de trabalho encerrado será eventualmente limpo. Depois de um fluxo de trabalho encerrado ser limpo, apresentará a seguinte mensagem:

  • Desculpa, alguma coisa correu mal.
    Não conseguimos encontrar o fluxo de trabalho. As instâncias completas são automaticamente limpas

Âmbitos de fluxo de trabalho

Um âmbito de fluxo de trabalho é definido como um site numa coleção de site. Por exemplo, o seguinte URL destina-se a uma recolha de sites de raiz e é considerado um âmbito de fluxo de trabalho:

    https://contoso.sharepoint.com/sites/rootsite

Um exemplo de outro âmbito de fluxo de trabalho que está na mesma coleção do site é o seguinte. No entanto, este âmbito de fluxo de trabalho encontra-se num subsite.

    https://contoso.sharepoint.com/sites/rootsite/subsite

O que é um pedido?

Os fluxos de trabalho do SharePoint 2013 são construídos com base no modelo de add-ins para o SharePoint, e utilizam APIs DE REST para interagir com os dados do SharePoint. Para saber mais, vá ao Serviço Desempreso SharePoint 2013 REST.

Um pedido é uma chamada de rede do serviço de fluxo de trabalho para um ponto final do SharePoint ou do Project REST API. Não há diferença entre o tipo de pedido ou a resposta para um dado pedido. Uma ação e as suas atividades de composição não contribuem para a contagem de pedidos a menos que o pedido envolva uma API de REST SharePoint 2013. Por exemplo, a ação 'Registar para Lista de História' pode gerar cinco ou mais pedidos para uma operação saudável. Além disso, a lógica de relírra é incorporada em fluxos de trabalho no caso de algo correr mal. Isto pode gerar pedidos adicionais.

Muitas ações produzem pedidos, e os pedidos podem ser minimizados utilizando as melhores práticas. Por exemplo, pode utilizar uma única ação de Item de Lista de Atualização em vez de várias ações de set Field in Current Item para reduzir o número de pedidos que estão a ser feitos por um âmbito de fluxo de trabalho e ainda obter os mesmos resultados. 

Recomendações de design de fluxo de trabalho

Há muitas maneiras de gerar muitos pedidos num fluxo de trabalho que pode resultar em estrangulamento. Alguns exemplos gerais são os seguintes:

  • Um fluxo de trabalho de ciclo agressivo ou múltiplos fluxos de trabalho agressivamente em loop

  • Um fluxo de trabalho que está associado a uma lista ou biblioteca enquanto o conteúdo está a ser migrado para o SharePoint.

  • Versões de fluxo de trabalho problemáticas anteriores que foram corrigidas e que continuam a executar casos de fluxo de trabalho que têm a configuração problemática até que o fluxo de trabalho seja terminado.

O estrangulamento do âmbito do fluxo de trabalho que é aplicado pelo serviço de fluxo de trabalho deve permitir cenários típicos de utilização do fluxo de trabalho. No entanto, à medida que a lógica de um fluxo de trabalho se torna mais sofisticada, o fluxo de trabalho pode exceder limites seguros.

Os seguintes cenários específicos de fluxo de trabalho resultarão também em estrangulamento.

Cenário 1: Um fluxo de trabalho que faz loops para monitorizar as mudanças

Por exemplo, pode verificar um item para obter atualizações em vez de esperar que um item seja atualizado.

Cenário 2: Usar um fluxo de trabalho para executar algoritmos complexos

Os fluxos de trabalho destinam-se a gerir processos humanos orientados por documentos e não a despachar tarefas computacionais significativas.

Cenário 3: Ter vários fluxos de trabalho em execução que usam a atividade de Wait for Event in List Item

Neste cenário, cada fluxo de trabalho ouvirá alterações na lista-alvo. Se houver muitos fluxos de trabalho em execução, cada fluxo de trabalho terá de reagir ao evento angariado e possivelmente ligar de volta para o SharePoint para realizar algum trabalho. 

NOTA: Isto também pode ocorrer se houver muitas alterações numa lista para a qual um fluxo de trabalho é configurado para iniciar quando um item é criado ou alterado.

Alternativas ao cenário 1: Um fluxo de trabalho que faz loops para monitorizar as mudanças

Opção 1: Utilizar add-ins sharePoint e recetores de eventos externos

O design do fluxo de trabalho deve ser reavaliado e deve ser utilizada uma abordagem de conceção diferente. Os add-ins do SharePoint ou os recetores de eventos externos são mais adequados para esta tarefa.

Opção 2: Adicionar uma ação de pausa

Pode melhorar um pouco o design do fluxo de trabalho adicionando um atraso (isto é, uma ação de pausa). Isto deve reduzir o tráfego gerado. No entanto, não altera as deficiências gerais deste design.

Opção 3: Utilize a atividade "Aguarde a Mudança de Campo no Item Atual"

Em vez de procurar alterações usando um loop, é melhor usar os recetores de eventos padrão. Um fluxo de trabalho pode ser iniciado quando um item é criado ou alterado. Executar múltiplas instâncias de fluxo de trabalho em vez de ter um fluxo de trabalho num ciclo agressivo é uma melhor abordagem. As condições do fluxo de trabalho só podem ser configuradas para realizar trabalhos quando é necessário.

A caixa de diálogo 'Opções de Início'

Apenas uma instância de fluxo de trabalho de um fluxo de trabalho pode estar a funcionar num dado momento. 

Outra abordagem é utilizar a atividade "Esperar pelo Campo para Alterar na Atividade de Item Atual". 

O design do fluxo de trabalho pode usar uma coluna de escolha que tem múltiplos valores para impulsionar a execução do fluxo de trabalho. Só quando uma opção adequada for escolhida por um utilizador final o fluxo de trabalho será retomado. Isto pode evitar que se iniciem casos agressivos de looping e fluxo de trabalho desnecessários. O fluxo de trabalho executa quando o item está pronto em vez de executar ou iniciar várias instâncias.

Pode monitorizar vários valores de vários campos utilizando vários blocos paralelos. O fluxo de trabalho pode esperar por um estado específico e, em seguida, continuar a executar por um determinado caminho, como no exemplo seguinte:

  1. Crie uma variável tipo Boolean.

    A caixa de diálogo variável de edição

  2. Desa estação o valor para .

  3. Insira um bloco paralelo, clique com o lado direito do bloco e, em seguida, clique em Propriedades Avançadas.

    A caixa de diálogo Properties

  4. No drop-down, selecione a variável que criou no passo 1.

  5. Insira dois blocos paralelos no bloco paralelo inserido que tem a propriedade CompletionCondition.
     

  6. No primeiro dos dois blocos paralelos que inseriu no passo 5, insira a espera de mudança de campo na atividade do item atual. Mude a atividade para que esteja a monitorizar uma coluna de escolha. Não monitorize a escolha por defeito.

  7. Descole a variável de fluxo de trabalho que é usada para parar os outros blocos paralelos a Sim.

  8. Repita os passos 1-7 para os valores da coluna de escolha.

  9. Mova as outras partes do fluxo de trabalho original para uma posição após os blocos paralelos.

Quando um dos blocos paralelos aninhados tiver todas as suas atividades executadas, o bloco paralelo dos pais terminará as outras atividades nos outros blocos paralelos. Isto permite que o fluxo de trabalho continue. Os blocos paralelos aninhados são monitorizados pelo bloco paralelo dos pais utilizando uma variável.

Opção 4: Iniciar um fluxo de trabalho SharePoint 2010 a partir do fluxo de trabalho SharePoint 2013

Pode utilizar o tipo de plataforma de fluxo de trabalho SharePoint 2010 para realizar parte do trabalho que o tipo de Plataforma de Fluxo de Trabalho SharePoint 2013 está a realizar. Isto pode reduzir o número de pedidos.

Especificamente, um fluxo de trabalho SharePoint 2010 pode ser iniciado para monitorizar as mudanças de campo utilizando a atividade de Wait for Field Change in Current Item ou para executar muitas outras operações básicas.

Alternativa ao cenário 2: Usar um fluxo de trabalho para executar algoritmos complexos

Se a sua solução exigir tarefas computacionais significativas, deve considerar desenvolver um add-in para o SharePoint. Para mais informações, aceda aos add-ins do SharePoint.


Ainda precisa de ajuda? Aceda à Microsoft Community.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×