Prioridade de fluxo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Especifique a prioridade que você deseja que um fluxo em segundo plano tenha em relação a outros fluxos que aguardam para serem executados. Execute um grupo de fluxos de prioridade mais alta antes de executar qualquer fluxo de prioridade mais baixa.

    Você só pode definir uma prioridade de fluxo para fluxos executados em segundo plano. Os fluxos em segundo plano são executados a partir do próximo thread de trabalhador disponível. Por padrão, Workflow Studio pode usar até metade dos threads de trabalho disponíveis para executar fluxos em segundo plano. Se não houver thread de trabalhador disponível para executar um fluxo, o fluxo será enfileirado até que haja um thread de trabalhador disponível para executá-lo.

    Você pode definir fluxos em segundo plano para ter um desses valores de prioridade.
    • Alto(a)
    • Média 
    • Baixo(a)
    Por padrão, os fluxos em segundo plano são executados com prioridade média.
    Nota:
    Os fluxos executados em primeiro plano são executados no thread atual e não usam a prioridade de fluxo para determinar a ordem de execução.

    Definir uma prioridade de fluxo determina a ordem em que os threads de trabalhador selecionam fluxos da fila. Os threads de trabalho executam vários fluxos de prioridade mais alta antes de executar um fluxo de prioridade mais baixa. Este esquema de prioridade garante que alguns fluxos de prioridade mais baixa sejam executados mesmo quando houver fluxos de prioridade mais alta na fila. Quando há uma fila de trabalho grande para executar, a maioria dos fluxos de baixa prioridade deve aguardar até que os fluxos de alta prioridade sejam executados. Após a execução dos fluxos de alta prioridade, os threads de trabalho podem executar fluxos de prioridade mais baixa.

    Se um fluxo permanecer na fila por mais de um minuto, o sistema delega o fluxo para outro nó para ser executado. Quando um fluxo é delegado a outro nó, ele perde seu valor de prioridade. Um nó delegado extrai fluxos da fila de eventos em ordem cronológica. O nó delegado executa os fluxos mais antigos primeiro e, em seguida, executa os fluxos mais recentes. Em geral, delegar fluxos para execução de outro nó só acontece quando todos os threads de trabalho disponíveis em um nó estão ocupados.
    Nota:
    Os threads de trabalho executam todos os eventos do sistema, não apenas eventos de fluxo.

    Os fluxos também perdem seu valor de prioridade quando pausam por qualquer motivo. Fluxos que são retomados a partir de uma execução de pausa na prioridade Média padrão. Por exemplo, um fluxo pode começar a ser executado em alta prioridade e, em seguida, pausar para aguardar uma duração. Quando o fluxo recomeça a ser executado, ele é executado em uma Prioridade Média.

    Pausa automática de fluxos de baixa prioridade

    Por padrão, o sistema verifica se há casos em que fluxos de alta prioridade estão sendo bloqueados executando fluxos de prioridade mais baixa. Sempre que um fluxo de baixa prioridade é executado por mais de dois minutos, o sistema verifica se algum fluxo de prioridade mais alta foi executado nos últimos cinco minutos. Se nenhum fluxo de alta prioridade tiver sido executado recentemente, o sistema verificará o número de fluxos aguardando execução na fila de eventos. Se houver um backlog de pelo menos 100 fluxos de alta prioridade aguardando execução na fila de eventos, o sistema pausará o fluxo de baixa prioridade em execução. Pausar um fluxo preserva seu contexto e seus dados. Um fluxo pausado retorna à fila de eventos para ser executado quando há um trabalhador disponível para processá-lo.

    Se seus fluxos de baixa prioridade não estiverem sendo executados conforme o esperado, revise o número de fluxos de alta prioridade gerados e executados pelo sistema. Consulte as considerações de design para saber quando definir um fluxo como prioridade alta ou baixa. Se seus fluxos de baixa prioridade ainda não estiverem em execução, você poderá desabilitar a pausa de baixa prioridade com uma propriedade do sistema. Consulte Workflow Studio propriedades do sistema de fluxo para mudar o valor da propriedade com.glide.hub.pause_low_priority_flows_enabled.

    Suporte rápido de API

    O método de API rápida retém as configurações de prioridade. Os fluxos executados pelo método de API rápida são executados na mesma prioridade que foi definida anteriormente para o fluxo.

    Considerações de design

    Siga estas considerações de design ao definir a prioridade de fluxo.

    Evite definir todos os fluxos para serem executados em alta prioridade
    Use uma combinação de prioridades em vez de definir todos os fluxos como prioridade alta. Os threads de trabalhador usam a prioridade relativa entre fluxos para selecionar o trabalho. Se todos os seus fluxos forem executados em alta prioridade, não haverá fluxos de prioridade mais baixa para fazer espera.
    Evite definir a prioridade de fluxo para fluxos que precisam ser pausados
    Mantenha fluxos que precisam pausar na prioridade média padrão, pois um fluxo que pausa perde seu valor de prioridade quando reinicia a execução.
    Use alta prioridade para fluxos críticos para os negócios
    Limite a alta prioridade a fluxos que tenham alto valor comercial, sejam executados raramente e tenham um tempo de execução curto. Evite definir fluxos de alto volume como prioridade alta, pois isso limita o número de threads de trabalho disponíveis para executar outros fluxos. Um fluxo de alta prioridade de longa execução também pode reduzir os threads de trabalho disponíveis para executar outros fluxos.
    Use prioridade baixa para fluxos de alto volume
    Execute fluxos de alto volume com prioridade baixa para que outros fluxos sensíveis ao tempo possam ser executados primeiro. Fluxos de baixa prioridade não devem ser sensíveis ao tempo.
    Use prioridade média para fluxos sensíveis ao tempo
    Use a prioridade de fluxo padrão quando um fluxo tiver alguma urgência de tempo quando comparado a outros fluxos.