Este artigo tem o objetivo de apoiar na solução de problemas em ações agendadas que não são executadas, sejam elas novas ou que já funcionavam e pararam de funcionar. Abaixo seguem alguns passos que podem ser verificados.
SOLUÇÃO:
Primeiramente deve-se verificar se a ação está ativa na tela "Ações Agendadas". Estando ativa, ainda neste mesma tela, verifique na aba "Configurar Expressão" se o tipo de gatilho é Intervalo de tempo ou Expressão CRON.
Intervalo de Tempo: neste, basta configurar de quanto em quanto tempo a ação será executada, seja em segundos minutos ou horas.
Expressão CRON: na expressão CRON é possível escrever a expressão ou marcar em qual momento deverá ser executado. Exemplo:
1 * * * * ?
↓ ↓ ↓ ↓ ↓ ↓
│ │ │ │ │ └─ (6º) Dia da semana → (Com '?' considera todos. Se for marcado, perde os dias)
│ │ │ │ └─── (5º) Mês → Qualquer (*)
│ │ │ └───── (4º) Dia do mês → Qualquer (*)
│ │ └─────── (3º) Hora → Qualquer (*)
│ └───────── (2º) Minuto → Qualquer (*)
└─────────── (1º) Segundo → No segundo 1
Importante: caso esteja usando algum valor marcado para hora e minuto do dia, lembre-se que é obrigatório marcar um valor para segundo, caso contrário naquele minuto a ação será executada 60 vezes. A melhor prática é sempre marcar algum segundo, por exemplo 0.
Verifique na tela "Controle de Jobs" se o Job de execução da ação existe. Filtre pela Descrição da ação. Nela é possível verificar se o Job possui algum erro de execução no horário da tentativa.
No exemplo acima acusa o erro "Esta ação agendada exige autorização pelo administrador do sistema!". Ou seja, na criação da ação agendada ou toda e qualquer alteração realizada é necessário que o administrador do sistema acesse a tela "Autorização de Customização" e libere a execução da ação.
Se não souber quem é a pessoa responsável pela autorização, ou se não existe nenhum e-mail configurado para liberação das ações, siga com as configurações do artigo Autorização de Customização ou procure a Unidade responsável.
Caso se trate de um erro diferente, aconselhamos a abertura de um Ticket para que a equipe do Service Desk possa analisar com mais detalhes.
E se o Job não existir?
Se a ação está ativa, com horário configurado e autorizado e mesmo assim não é apresentado no Controle de Jobs, verifique as questões abaixo.
Na Administração do servidor, pesquise pelo argumento abaixo. Se estiver como true significa que os Jobs da base estão desativados e não serão executados.
-Dsankhyaw.schedule.=true (para que os Jobs executem é necessário que esteja como false, ou que não existe nos argumentos da VM)
Este novo recurso é ativado por meio de uma configuração no ambiente de execução (Servidor Wildfly). Ele é citado dentro servidor de aplicação, seguindo o caminho abaixo.
WILDFLY_INSTALL/bin/standalone.conf (Linux)
WILDFLY_INSTALL/bin/standalone.conf.bat (Windows)
Outra questão a ser verificada é o parâmetro abaixo na tela "Preferências". Ele é responsável por apontar o IP de um servidor exclusivo para execução de schedules (Jobs), ou seja, se tiver um servidor a parte para execução dos Jobs, o ideal é não existir. Caso ele existe e contenha um caminho incorreto informado, os Jobs não serão executados. É muito importante que tenha certeza da informação citada antes de realizar qualquer alteração no parâmetro.
SERVERHOSTSCHED - Servidor para executar schedule
Importante: tanto o argumento quanto o parâmetro podem existir intencionalmente na base de testes. Isso evita que Jobs sejam executados de forma incorreta e enviem informações indevidas aos clientes (por exemplo, em Jobs de envio de e-mail). Portanto, antes de remover qualquer um deles, avalie cuidadosamente os possíveis impactos!
Se a ação agendada foi criada usando o tipo de ação Proc. Banco de Dados, analise em seu banco de dados se realmente a procedure está criada usando o Owner correto e se está funcional. Para testar se realmente a construção está válida, use os comandos abaixo para executar diretamente no banco de dados.
Banco Oracle:
BEGIN NOME_PROCEDURE_TESTE;
Banco SQL:
EXEC NOME_PROCEDURE_TESTE;
Se o tipo de ação for Java, verifique na tela "Módulo Java" se o arquivo existe e está válido. Se por um acaso a ação do módulo java foi selecionada, porém essa ação sofreu alteração, a Ação Agendada para de funcionar, pois continua citando o módulo java incorreto. Neste caso, crie uma ação agendada do zero selecionando o módulo java correto.
Por último, para validar se a ação foi executada ou não, basta seguir o caminho abaixo. Será aberto um pop-up informando o total de execuções ou o total e o motivo dos erros.
Comentários
0 comentário
Por favor, entre para comentar.