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:

[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.