Abertura de ambiente em rotinas automáticas – Parte 2
Executar rotinas agendadas é bem simples, para isso precisamos preparar nosso fonte para que ele rode em console e fazer algumas configurações no appserver.ini (Protheus 11)
No artigo Abertura de ambiente em rotinas automáticas – Parte 1, temos um exemplo de um fonte que podemos utilizar, as mensagens de erros, mensagens de alertas e de sucesso , para isso podemos usar a função Conout, esta função irá imprimir no log o seu texto para posterior consulta.
Este processo podemos chamar de Scheduler
O Scheduler (agenda) é uma ferramenta responsável pela execução das funções de usuários ou funções padronizadas do sistema (chamaremos de Jobs), em determinados horários específicos entre um intervalo de tempo, sem que haja a intervenção do usuário. Para que essa ferramenta esteja habilitada a realizar execuções dos jobs, é necessário que ela esteja ativada no servidor do Protheus.
Para que os jobs sejam executados nos horários pré-determinados, é importante que após a carga do servidor do Protheus, o Scheduler seja executado. Dessa forma, ele poderá verificar a cada minuto se há jobs a serem executados.
Essa ativação ocorre a partir do recurso disponível na seção “[OnStart]” contido no arquivo appserver.ini.
Exemplo a ser adicionado ao arquivo appserver.ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[ONSTART] JOBS=VerificaPC,AtualMoeda >>> podemos ter mais de um processo RefreshRate=3600 >>> indicamos de quanto em quanto tempo será processado [VerificaPC] main=U_MCOM001 >>> Nome da função que será executada, sendo função de usuário coloque o U_ Environment=PRODUCAO >>> Nome do ambiente [AtualMoeda] main=U_MFAT001 >>> Nome da função que será executada, sendo função de usuário coloque o U_ Environment=PRODUCAO nParms=4 parm1=01 >>> INDICA A EMPRESA QUE SERÁ APLICADA parm2=02 >>> INDICA A FILIAL QUE INICIADO O JOB parm3=PRODUCAO >>> NOME DO AMBIENTE parm4=T >>> Indica se inicia ou não os processos parados automaticamente |
Para cada Job, crie uma seção
Depois de configurado, pare e reinicie os serviços para que suas configurações tenham efeitos
Lembrando, que será utilizado uma licença por processo.
Sugiro também que valide em seu fonte se o processo já foi realizado, caso contrario sempre será reprocessado.
Para que o processo rode num determinado dia e horário, será necessário fazer isso dentro do Configurador, deixarei este passo para outro artigo.