Escolar Documentos
Profissional Documentos
Cultura Documentos
Protheus
Hoje vou mostrar duas formas de como executar rotinas (Jobs) de forma automática no Protheus.
Existem duas formas de agendar rotinas automáticas para executar do Protheus, a primeira é
diretamente pelo sistema operacional, não é muito difundida, pois se houver falhas ou problemas,
não ficarão gravados logs no Protheus, mas é uma forma mais simples de se configurar.
A segunda forma é diretamente pelo Scheduler do Protheus que é uma ótima ferramenta, onde
ficam logs das rotinas executadas.
6. Clique com o botão direito na área branca, e depois clique em Criar Tarefa Básica
Criando tarefa básica
Nome da rotina
9. Defina o horário que será executado a rotina, nesse exemplo, será executado todo dia as
08h30
1. Vá na sua instalação do Protheus, copie a pasta apo, e nessa nova cópia, coloque apo_job
2. Faça a mesma coisa para a pasta appserver, crie uma cópia (se ai usa balanceamento de
carga, copie de um slave / load balance) e renomeie para appserver_job
Criando a pasta appserver_job
5. A segunda alteração é na porta da conexão, mude ela, nesse exemplo iremos usar a 1258
7. Por último, iremos adicionar o Manager e o Queue (responsáveis por gerenciar e pela fila de
Jobs), para isso iremos adicionar os dois, e acionar eles via ONSTART. Além disso, no
Environment, lembre-se de apontar para o ambiente configurado no tópico 4
[ONSTART]
JOBS=FWSCHDMANAG_AMBJOB,FWSCHDQUEUE_AMBJOB
RefreshRate=120
[FWSCHDMANAG_AMBJOB]
Main=FWSCHDMANAG
Environment=AMBJOB
[FWSCHDQUEUE_AMBJOB]
Main=FWSCHDQUEUE
Environment=AMBJOB
8. Crie um atalho do appserver na área de trabalho, e teste com -console ou faça a instalação
com -install e deixe o serviço executando
9. Agora vá na pasta smartclient, e abra o arquivo smartclient.ini
10. Copie a configuração de tcp ou outro slave que tenha, mude o nome para job, e coloque a
porta que foi configurada no tópico 5
Configurando no smartclient.ini
ambiente
13. Faça o login normalmente, e acesse Ambiente > Schedule > Schedule
15. Clique no botão para criar o Agente automaticamente (ele será criado com até 2 threads
simultâneas). Note também o IP que é gerado, se tiver sido gerado com alguma
inconsistência, altere o agente e deixe com o mesmo IP que esta rodando o serviço.
19. Insira a função (se tiver um Pergunte na função, clique no botão Parâmetros para
parametrizar), insira a data e hora inicial, a empresa e filial, qual é o módulo e uma descrição
21. Nas recorrências, eu coloquei para ser diário, a cada 1 dia, sem data de término, descartando
tarefas atrasados, sendo executado 5 vezes por dia, com um intervalo de 3 em 3 horas (se
clicar no botão Execuções, ele mostra a lista de horários que irá executar a rotina)
22. Caso você queira visualizar as execuções, dentro de Agendamentos, em Monitor, é exibido a
lista de Jobs executados com os horários (dê um duplo clique na bolinha de status para ver as
legendas)
Verificando as execuções