Como utilizar jobs no Protheus
Existe um tipo de JOB que é possível trabalhar no Protheus que eu particularmente utilizo muito.
Por diversas vezes tentei utilizar o JOB padrão da Totvs e fiquei muito frustrado por não funcionar como gostaria e também não tenho um total controle do que esta rodando por traz desse job.
Desta forma, tenho trabalhado com outro tipo de JOB. É o mesmo princípio de um Job de Tss, quase isso.
Trabalhando com JOBS
Para criar um JOB, primeiramente é necessário criar uma rotina no Protheus
e apontar esta rotina no início do Protheus. Abaixo descrevo melhor .
MONTAGEM DA ROTINA
Obs : O nome do programa deve iniciar com WT
CRIAR UM SERVIÇO NO WINDOWS/LINUX PARA RODAR O SEU JOB
Crie um ambiente separado de preferência em outro RPO. Sugiro isso, porque as vezes precisamos fazer alguma modificação no ambiente de produção ou de teste e isso não vai interferir no outro. Este procedimento não é obrigatório.
Tendo este ambiente montado, é necessário adicionar as seguintes linhas :
[ONSTART]
Jobs=NOME_CHAVE // Vínculo com a linha abaixo
RefreshRate=10 // Tempo para atualização do JOB
[NOME_CHAVE]
main=U_WTJobQualquer() // Nome do programa
environment=BSTESTE // Nome do ambiente
instances=1
Note, que o nome BSTESTE é o nome do ambiente que ira rodar. É o mesmo princípio de uma base de produção.
Como sugestão, deixe um serviço separado do serviço de produção. Isso evita sobrecarga, não deixa o Protheus lento, não interfere na produção e como é um JOB, você pode parar este JOB a qualquer momento sem interferir no ambiente de produção.
Importante
Por se tratar de um JOB, fica por sua conta montar a abertura da empresa, a abertura da tabela, etc.
MONTAGEM DA ROTINA
User Function WTJobQualquer
Local nVolta:=0
ConOut( dtoc( Date() )+" "+Time()+"
Iniciando o job...." )
While !KillApp()
nVolta++
ConOut( dtoc( Date() )+" "+Time()+"
Executando os comandos" )
If nVolta > 10
volta:=0
ConOut( dtoc( Date() )+" "+Time()+" Fim do
Job" ) // Joga a mensagem no console
Exit
Endif
Enddo
Return
Obs : O nome do programa deve iniciar com WT
CRIAR UM SERVIÇO NO WINDOWS/LINUX PARA RODAR O SEU JOB
Crie um ambiente separado de preferência em outro RPO. Sugiro isso, porque as vezes precisamos fazer alguma modificação no ambiente de produção ou de teste e isso não vai interferir no outro. Este procedimento não é obrigatório.
Tendo este ambiente montado, é necessário adicionar as seguintes linhas :
[ONSTART]
Jobs=NOME_CHAVE // Vínculo com a linha abaixo
RefreshRate=10 // Tempo para atualização do JOB
[NOME_CHAVE]
main=U_WTJobQualquer() // Nome do programa
environment=BSTESTE // Nome do ambiente
instances=1
Note, que o nome BSTESTE é o nome do ambiente que ira rodar. É o mesmo princípio de uma base de produção.
Como sugestão, deixe um serviço separado do serviço de produção. Isso evita sobrecarga, não deixa o Protheus lento, não interfere na produção e como é um JOB, você pode parar este JOB a qualquer momento sem interferir no ambiente de produção.
Importante
Por se tratar de um JOB, fica por sua conta montar a abertura da empresa, a abertura da tabela, etc.
Nenhum comentário:
Postar um comentário