Skip to Content
Guia das telasAgendadores

Agendadores — /schedulers

Agendadores agrupados por Aplicação, com a frequência, o estado e o disparo manual
Agendadores agrupados por Aplicação, com a frequência, o estado e o disparo manual

Quase tudo que o CMS faz sem alguém pedir passa por um agendador: processar as mensagens de uma interface, buscar dados numa Coleta, checar se as aplicações estão no ar, expurgar mensagem velha. Esta tela mostra todos eles, em um lugar só.

Agendador pausado é a causa mais comum de “a coleta parou de trazer dados”. Nada quebra, nada vira erro: as mensagens simplesmente deixam de ser processadas. Por isso existe um tipo de alerta dedicado — AGENDADOR_PAUSADO — e um status próprio no Painel de Interfaces.

Dois tipos de agendador

A listagem separa os jobs em dois grupos, e a diferença importa porque as permissões são diferentes. Há ainda um terceiro, os Gatilhos, descrito mais abaixo — para efeito de permissão ele se comporta como o de Interface.

Agendadores de Sistema

Criados pelo próprio CMS na primeira subida:

JobO que fazPadrão
keep-aliveConsulta o keep-alive de todas as aplicações e atualiza o status ON/OFFa cada 10 segundos
limpezaRemove mensagens e processamentos mais antigos que a retenção configurada em cada Interfacetodo dia às 2h
Check-msg-acumulada-alertVerifica interfaces com mensagens acumuladas acima do limite e dispara o alertaa cada minuto
Check-chamado-atrasadoAbre chamado para Aplicação que passou do tempo offline configurado no alertaa cada minuto
Check-sap-cpi-processamentoConfere no SAP CPI se os iFlows que receberam Entregas terminaram com sucesso e dispara o alerta Falha no iFlow. Sem conexão SAP CPI com API de gestão, não faz chamada nenhumaa cada minuto
resumo-diarioFecha o Raio-X do dia anterior e envia o resumo aos inscritostodo dia às 0h10
revisao-iaAvisa os revisores quando há sessões de IA sinalizadas aguardando revisãotodo dia às 7h

Só administradores enxergam e mexem nos agendadores de Sistema. Um usuário comum vê apenas os agendadores das Interfaces a que tem acesso.

Agendadores de Interface

Um por Interface cadastrada, nomeado fila-{SIGLA}. É ele que executa o ciclo da interface: buscar o que há para fazer, enfileirar e processar. A tela agrupa esses jobs por Aplicação, com contagem de ativos e inativos em cada grupo.

Criar uma Interface cria o agendador; renomear a Interface renomeia o job preservando o estado (um job desligado continua desligado); excluir a Interface remove o job.

Interface criada por importação, por um assistente ou por um Pack SAP já nasce com o agendador registrado e rodando — não é preciso reiniciar a API.

As Interfaces das ferramentas de Help Desk aparecem num grupo próprio, Help Desk. Vale conferir: com o agendador da Interface de uma ferramenta desligado, o chamado entra na fila e não sai — no SAP PM, a nota fica “aguardando” para sempre.

Gatilhos

Um por Gatilho cadastrado, nomeado trigger-{id} e exibido com o nome que a pessoa deu. Ficam num grupo próprio, Gatilhos, antes de Sistema, com o alvo (a Coleta ou Entrega) e o agendamento por extenso na linha.

Aqui dá para pausar, executar agora e ver o histórico. Duas coisas são diferentes dos agendadores de Interface, de propósito:

  • Ligar não acontece aqui. A ativação de um Gatilho passa por uma pergunta de confirmação que só a tela de Gatilhos faz — tentar ligar por esta tela mostra um aviso com o atalho para lá, e “Ativar todos” pula os Gatilhos e diz quantos ficaram de fora.
  • Editar o agendamento também é na tela de Gatilhos: o lápis leva para lá. As abas são as mesmas, mas o Gatilho guarda a escolha inteira no cadastro — mudá-la só no job deixaria os dois dizendo coisas diferentes.

Como se escolhe o agendamento

O lápis abre o mesmo editor do cadastro de Gatilho, com cinco abas:

AbaO que defineExemplo
A cadaCadência curta, sem horário fixoa cada 5 segundos
DiárioUm horário por dia, com opção de só dias úteis07:30, segunda a sexta
SemanalDias marcados e horárioterça e quinta, 06:00
MensalDia do mês (1 a 28) e horáriodia 5, 23:00
AvançadoA expressão cron, para o que as abas não cobrem0 0 2 15,30 * *

A tela mostra a escolha por extenso e as próximas três execuções, no fuso do servidor, antes de salvar. Um agendamento que o destino não consegue cumprir aparece como erro ali, e não vira um job que nunca dispara.

Não é a tela que monta a expressão: ela manda a escolha e o servidor converte, com a mesma regra que o Gatilho usa. Por isso as duas telas nunca discordam sobre o que “a cada 15 minutos” significa.

Milissegundos só aparecem para Interface. Uma Interface guarda cadência curta como intervalo (é o que permite 200 ms), enquanto os agendadores internos do Sistema só sabem guardar cron — e cron não tem casa para fração de segundo.

O CMS aceita cron com segundos (seis campos). É o que permite 0/10 * * * * * no keep-alive.

Duas coisas que a tela recusa, e por quê

  • “Último dia do mês” existe no Gatilho e não aqui. Ele não é só uma expressão: é um cron que dispara do dia 28 ao 31 mais uma marca que descarta os três primeiros, e essa marca só o cadastro de Gatilho guarda. Aceitar aqui agendaria quatro execuções no lugar de uma.
  • Num agendador do Sistema, “a cada N” só passa quando N divide a unidade de cima por igual (5, 10, 15, 30 segundos — não 45). Um passo de 45 segundos dispararia aos :00 e :45 e depois esperaria 15 s: a tela diria uma coisa e o sistema faria outra.

Uma Interface gravada em modo cron com expressão de cadência (*/5 * * * * *) abre na aba A cada e, ao salvar, passa a ser gravada como intervalo. É o mesmo agendamento — e intervalo é o modo que o CMS usa para Interface abaixo de um minuto —, mas a linha muda de modo mesmo sem você mexer nos campos.

Intervalo muito curto numa Coleta significa consultar a origem muito perto de tempo real — e uma origem lenta pode acumular execuções. Comece conservador e aperte depois de medir o tempo médio no Monitor de Mensagens.

O que dá para fazer na tela

AçãoEfeito
Ativar / desativarLiga ou para o job. Vale imediatamente, sem reiniciar nada
Editar agendamentoAbre as cinco abas, com a frase legível e as próximas execuções
Executar agoraDispara uma execução fora do horário, para teste
HistóricoÚltimas execuções daquele job, com início, duração, status e mensagem

Há também ações em lote: ativar ou desativar todos os agendadores de uma Aplicação, ou apenas os selecionados. Desativar em lote pede confirmação digitada — é uma ação que para a integração inteira de uma aplicação.

A coluna Frequência diz o agendamento em frase — “A cada 1 hora”, “A cada 5 minutos”, “Dias úteis às 07:30” —, a mesma da tela de Gatilhos. Quando o valor gravado é uma expressão cron, ela aparece pequena logo abaixo, para conferência; intervalo não tem expressão, a frase já é o valor exato.

A coluna Executando mostra, em tempo real, quais interfaces estão com mensagem em processamento neste momento.

Histórico e diagnóstico

Cada execução grava início, duração, status (Sucesso ou Erro), mensagem e os IDs das mensagens envolvidas. O histórico completo, com filtros por job, status e período, fica em Log Agendadores — inclusive um gráfico de execuções por hora, que costuma ser a forma mais rápida de ver “parou às 14h”.

Execuções sem nada a fazer não geram registro. Num job de intervalo, isso significa que “última execução” pode estar velha mesmo com o job saudável — ele só não teve trabalho.

Permissão

A Ferramenta é /schedulers. Um usuário não administrador só enxerga (e só pode mexer em) agendadores de Interfaces que constem das suas Interfaces permitidas — os jobs de Sistema ficam fora do alcance dele, inclusive nas ações em lote.