Todos os produtos
Search
Central de documentação

Microservices Engine:Fila de prioridade para limitação no nível da aplicação

Última atualização: Jun 28, 2026

No agendamento de jobs, adote duas estratégias para implementar a limitação no nível da aplicação: ative a limitação e defina um tamanho de fila adequado ou configure uma fila de prioridade preemptiva. Essas abordagens garantem a estabilidade do sistema de agendamento e a execução pontual dos jobs críticos. Este tópico explica como gerenciar recursos no nível da aplicação e agendar jobs com base na prioridade.

Casos de uso

Sistemas de agendamento de jobs podem sofrer pressão intensa durante picos repentinos de tráfego. Por exemplo, se muitos jobs diários forem agendados para iniciar ao mesmo tempo, a carga concorrente poderá derrubar o sistema de backend caso não haja controle adequado. Para resolver esse problema, o SchedulerX oferece um mecanismo de fila que limita o número máximo de instâncias de tarefa executadas simultaneamente em uma aplicação. Esse mecanismo enfileira e despacha os jobs sequencialmente, mantendo a aplicação estável e otimizando o uso de recursos.

Configuração

Ativar a limitação e definir o tamanho da fila

  1. Ao criar ou editar um grupo de aplicações, ative a chave Flow Control na seção advanced configuration. Essa opção vem desativada por padrão. Para mais detalhes sobre como criar um grupo de aplicações, consulte Criar um grupo de aplicações.

    Após ativar o controle de fluxo, defina o Number of concurrent task instances. Esse parâmetro determina quantas instâncias de tarefa a aplicação pode executar ao mesmo tempo. Quando o volume de instâncias enviadas ultrapassa esse limite, o sistema enfileira o excedente para execução posterior.

  2. Crie três jobs no grupo de aplicações e clique em Run once na coluna Actions de cada job.

  3. No painel de navegação à esquerda, clique em Execution List. Na aba Task instance List, observe que o primeiro job acionado, hello_jobA, está em execução, enquanto hello_jobB e hello_jobC aguardam na fila.

  4. Após a conclusão bem-sucedida de hello_jobA, hello_jobB inicia a execução.

Configure uma fila de prioridade preemptiva

Sistemas de gerenciamento de recursos como o YARN (Yet Another Resource Negotiator) utilizam filas de prioridade para isolar recursos destinados a jobs com diferentes níveis de importância.

O procedimento a seguir demonstra como o SchedulerX combina a limitação no nível da aplicação com prioridades de jobs para implementar uma fila prioritária com suporte a preempção.

  1. O SchedulerX permite atribuir uma prioridade a cada job. Dentro da mesma aplicação, quando vários jobs são agendados para o mesmo horário, o sistema executa primeiro aqueles com maior prioridade.

    Na página Basic Configuration do job, selecione uma priority na lista suspensa: low, medium, high ou very high.

  2. Para ilustrar esse comportamento, ative o controle de fluxo no grupo de aplicações dts-all.hxm e defina o Number of concurrent task instances como 1 para facilitar a visualização. Crie três jobs com prioridades alta, média e baixa. Em seguida, acione os jobs uma vez na seguinte ordem: média, baixa e alta.

  3. No painel de navegação à esquerda, clique em Execution List. Na aba Task instance List, note que o job de prioridade média, ao ser acionado, é executado imediatamente porque a fila de execução está vazia.

  4. Após a conclusão do job de prioridade média, uma vaga de execução fica disponível. O job de prioridade alta preempta o job de prioridade baixa e é executado em seguida.

Perguntas frequentes

  • Se eu definir a prioridade de todos os meus jobs como muito alta, eles serão agendados antes dos jobs de outros usuários?

    A prioridade do job é uma configuração no nível da aplicação. Ela influencia apenas a ordem de agendamento dos jobs dentro da mesma aplicação, sem impacto sobre outras aplicações.

  • É possível usar a limitação baseada em fila para jobs executados a cada minuto?

    Esse recurso é ideal para cenários com picos repentinos de tráfego. Caso você tenha um grande volume de jobs agendados a cada minuto, evite utilizar essa funcionalidade, pois a fila pode crescer indefinidamente. Nesses casos, considere implementar limitação no nível de negócio no cliente ou aumentar os recursos do cliente.