• Nenhum resultado encontrado

MANUAL AGENDADOR DE TAREFAS LOGIX

N/A
N/A
Protected

Academic year: 2021

Share "MANUAL AGENDADOR DE TAREFAS LOGIX"

Copied!
9
0
0

Texto

(1)

Outubro 2011 | rev. 01

M

ANUAL

A

GENDADOR DE

T

AREFAS

L

OGIX

Elaboração:

Rubens Dos Santos Filho

(2)

Objetivo

Este documento tem como tarefas no produto Logix, que realiza

interação com o usuário), onde são executados em

Os processos acionados pelo agendador são chamados tarefas a serem executadas pelo mesmo.

JOB0003 – Agendador de Tarefas através do programa JOB0005 –

Funcionamento

Uma vez iniciado o serviço

imediatamente é acionado um escalonador (

algum gatilho a ser executado conforme período e intervalos definidos pelo usuário gatilhos são executados em uma

gatilhos que ainda estão executando

Pré-requisitos

Para executar o agendado

TOTVS Tec e estar no mínimo com a versão 10.02 do Logix. Esta ferramenta trabalha servidores e banco de dados homologados pela TOTVS.

É extremamente aconselhável criar um ambiente

execução do agendador de tarefas.

Este documento tem como objetivo relatar a funcionalidade de agendamento de tarefas no produto Logix, que realiza a execução de processos em modo background

são executados em datas e intervalos definidos pelo agendador são chamados de gatilhos e cada tarefas a serem executadas pelo mesmo. Tais gatilhos são cadastrados através do

Agendador de Tarefas e o monitoramento da execução destes pode ser feito Monitor de Tarefas.

o serviço TOTVS Tec com o agendador de tare

é acionado um escalonador (scheduler) que verifica ininterruptamente se há conforme período e intervalos definidos pelo usuário

em uma nova linha de execução (thread), para não interferir nos executando.

Para executar o agendador de tarefas Logix, é necessário a utilização da

e estar no mínimo com a versão 10.02 do Logix. Esta ferramenta trabalha e banco de dados homologados pela TOTVS.

É extremamente aconselhável criar um ambiente TOTVS Tec separado dos outros ambientes para execução do agendador de tarefas.

objetivo relatar a funcionalidade de agendamento de background (sem a definidos pelo usuário.

e cada um possui gatilhos são cadastrados através do programa estes pode ser feito

com o agendador de tarefas ligado, ) que verifica ininterruptamente se há conforme período e intervalos definidos pelo usuário. Estes , para não interferir nos

utilização da tecnologia e estar no mínimo com a versão 10.02 do Logix. Esta ferramenta trabalha nos

(3)

JOB0003 – Agendador de Tarefas Logix (Cadastro de Gatilhos)

No JOB0003 são cadastrados os gatilhos a serem executados pelo agendador de tarefas do Logix e suas especificações.

• Informações do gatilho; • Especificação de execução; • Tarefas;

• Informações de atualizações.

Nas informações do gatilho, são cadastradas informações descrição do gatilho, responsável pelo gatilho, e

deverá enviar e-mails para o responsável.

Na especificação de execução, do gatilho. Também é possível

para execução, em andamento ou inativo

modificado, o mesmo não pode estar em andamento).

Agendador de Tarefas Logix (Cadastro de Gatilhos)

são cadastrados os gatilhos a serem executados pelo agendador de tarefas do Logix e suas especificações. Este programa é subdividido em quatro partes:

do gatilho; Especificação de execução;

nformações de atualizações.

Nas informações do gatilho, são cadastradas informações básicas

descrição do gatilho, responsável pelo gatilho, e-mail do responsável e quando o sistema mails para o responsável.

Na especificação de execução, são informados o período e os intervalos de execução verificar a situação do gatilho, se o mesmo está pendente para execução, em andamento ou inativo (lembrando que para que um gatilho possa ser modificado, o mesmo não pode estar em andamento).

Agendador de Tarefas Logix (Cadastro de Gatilhos)

são cadastrados os gatilhos a serem executados pelo agendador de quatro partes:

básicas como: nome e mail do responsável e quando o sistema

o período e os intervalos de execução rificar a situação do gatilho, se o mesmo está pendente (lembrando que para que um gatilho possa ser

(4)

Os períodos de execução são infor intervalos são definidos por hora, min selecionadas a partir da janela abaixo qual o usuário deseja informar:

No cadastro das tarefas, são para este gatilho e possibilita também

• Rotina; • Observações;

• Dependentes: define se a execução tarefa executada anteriormente • Parâmetros (simples e lista)

listas aceitam diversos

Estes parâmetros são informados na tela abaixo:

são informados através do campo de data in

intervalos são definidos por hora, minuto, dia, dia da semana e mês. Estas informações a janela abaixo, ao clicar no botão de lupa do respectivo campo do

são informadas as tarefas (processos) que serão executada possibilita também as definições de:

define se a execução da tarefa depende do término anteriormente;

(simples e lista): os parâmetros simples aceitam apenas um valor e diversos valores, seqüenciados conforme são adicionados

Estes parâmetros são informados na tela abaixo:

através do campo de data inicial e final e os Estas informações são o clicar no botão de lupa do respectivo campo do

) que serão executadas

tarefa depende do término com sucesso da

apenas um valor e as conforme são adicionados na mesma.

(5)

O nome da rotina e os parâmetros das tarefas são informações técnicas que podem ser vistas com mais detalhes no item

JOB0003 indica para o usuário quando foi a inclusão do gatilho, quando foi a última alteração e qual o usuário efetuou

JOB0005 – Monitor de Tarefas Logix

O JOB0005 permite que sejam monitorados os gatilhos e tarefas

execução, além de possibilitar a interrupção de um ou todos os gatilhos que estão em execução no momento. É possível também

gatilhos cadastrados e verificar se os mesmo algum problema durante a execução do mesmo.

O nome da rotina e os parâmetros das tarefas são informações técnicas que podem ser vistas com mais detalhes no item Desenvolvimento deste documento. Para finalizar, o indica para o usuário quando foi a inclusão do gatilho, quando foi a última ração e qual o usuário efetuou esta alteração.

Monitor de Tarefas Logix

permite que sejam monitorados os gatilhos e tarefas

além de possibilitar a interrupção de um ou todos os gatilhos que estão em É possível também, visualizar o histórico de execução de todos os gatilhos cadastrados e verificar se os mesmos foram executados com sucesso ou se houve

problema durante a execução do mesmo.

O nome da rotina e os parâmetros das tarefas são informações técnicas que podem ser deste documento. Para finalizar, o indica para o usuário quando foi a inclusão do gatilho, quando foi a última

permite que sejam monitorados os gatilhos e tarefas que estão em além de possibilitar a interrupção de um ou todos os gatilhos que estão em visualizar o histórico de execução de todos os foram executados com sucesso ou se houve

(6)

Configuração

Depois de cadastrados os gatilhos é necessário configurar o agendador de tarefas para a execução dos mesmos. Esta configuração consiste na criação de seções de execução dentro do arquivo de informações do servidor de aplicação (TotvsAppServer.ini) localizado dentro da pasta do servidor TOTVS Tec. As seções que deverão ser incluídas, bem como suas chaves e valores de execução, deverão estar como a seguir:

[OnStart]

Jobs=4glJob

[4glJob]

Environment=<ambiente Logix>

Main=JobStarter [LogixScheduler] ScheduleEnable=1 JObLogEnable=1 JobLogPath=C:\totvs\logix\bin\appserverj\log\ LoopLoadJob=33 VerifyJobInterval=55 JobMonitorAutoRefresh=5

; Informações utilizadas somente quando se faz uso de mais de um servidor ; (LoadBalance) para execução dos gatilhos agendados.

EnableJobBalance=0

JobServers=slave1,slave2

; Informações destinadas à validação de licença.

LicenseCompanyId=50 LicenseUserId=admlog [slave1] Type=tcpip Server=lnap07 Port=3301 Connections=50 [slave2] Type=tcpip Server=lnap07 Port=3302 Connections=50

(7)

Seção Descrição

[OnStart] Utilizado para iniciar automaticamente uma seção definida no arquivo de configuração quando o servidor for iniciado.

Jobs Indica qual a seção JOB configurado no

[4glJob] Configuração da seção JOB

o nome do programa responsável por de configuração).

Environment Indica em qual o ambiente executado o agendador de tarefas.

Main Nome do programa (AdvPL) que executará o agendador de tarefas.

[LogixScheduler] Seção de configuração do agendador de tarefas Logix.

ScheduleEnable Habilita/desabilita o escalonador do agendador de tarefas.

JobLogEnable Habilita/desabilita a geração do arquivo de

JobLogPath Caminho do servidor onde serão gerados os arquivos de

LoopLoadJob Quantidade de execuções execuções (Select

Obs.: o valor padrão mínimo para não sobrecarregar o

VerifyJobInterval Tempo em segundos entre cada

Obs.: o valor padrão mínimo para não sobrecarregar o servidor

JobMonitorAutoRefresh Tempo em segundos para a atualização automática das informações de gatilhos em execução no monitor de tarefas do agendador (

Obs.: o valor padrão mínimo para não sobrecarregar o servidor

EnableJobBalance Habilita/desabilita

Obs.: não se deve

tarefas, porém é necessário a definição dos servidores escravos no mesmo

JobServers Servidores escravos (

LicenseCompanyId Código da empresa

LicenseUserId Código do usuário que será utilizado para o consumo de licença

Caso seja utilizado LoadBalance para o agendador de tarefas, é possível utilizar os mesmos servidores escravos dos outros servidores de aplicação

1 Para questões de otimização de recursos de infra

entre servidores Totvstec, que podem estar no mesma máquina ou em máquinas diferentes.

escravo onde será criado um “servidor mestre” que irá usufruir dos recursos de seus “servidores escravos”. distribui os processos entre os servidores escravos.

Para cada servidor de aplicação é necessário ter uma cópia do diretório o LoadBalance:

• c:\totvs\logix\bin\

• appserver0  servidor master • appserver1  servidor slave 1 • appserver2  servidor slave 2 • appserverN  servidor slave N

Nota: Mais detalhes sobre a configuração de LOAD BALANCE, vide manual de instalação TOTVS Tec.

Utilizado para iniciar automaticamente uma seção definida no arquivo de configuração quando o servidor for iniciado.

Indica qual a seção JOB configurado no arquivo de configuração será executada. Configuração da seção JOB. Nela será definida qual o ambiente será utilizado e qual o nome do programa responsável por executar o agendador de tarefas (vide arquivo de configuração).

Indica em qual o ambiente JOB configurado no arquivo de configuração será o agendador de tarefas.

Nome do programa (AdvPL) que executará o agendador de tarefas. Seção de configuração do agendador de tarefas Logix.

Habilita/desabilita o escalonador do agendador de tarefas.

Habilita/desabilita a geração do arquivo de log de execução para cada gatilho. Caminho do servidor onde serão gerados os arquivos de log dos gatilhos. Quantidade de execuções a serem realizadas até a próxima atualização

Select em banco de dados).

o valor padrão mínimo para não sobrecarregar o servidor TOTVS Tec Tempo em segundos entre cada execução de gatilho.

o valor padrão mínimo para não sobrecarregar o servidor TOTVS Tec

Tempo em segundos para a atualização automática das informações de gatilhos em execução no monitor de tarefas do agendador (JOB0005).

o valor padrão mínimo para não sobrecarregar o servidor TOTVS Tec Habilita/desabilita LoadBalance1 para os gatilhos a serem processados.

se deve incluir a seção [ServerNetwork] no servidor do agendador tarefas, porém é necessário a definição dos servidores escravos no mesmo

Servidores escravos (slaves) utilizados para o LoadBalance1 do agendador de tarefas. Código da empresa que será utilizado para o consumo de licença TOTVS

Código do usuário que será utilizado para o consumo de licença TOTVS

para o agendador de tarefas, é possível utilizar os mesmos servidores escravos dos outros servidores de aplicação TOTVS Tec.

Para questões de otimização de recursos de infra-estrutura, recomenda-se utilizar o conceito de LoadBalance para distribuição de carga entre servidores Totvstec, que podem estar no mesma máquina ou em máquinas diferentes. Este conceito utiliza-se do p

escravo onde será criado um “servidor mestre” que irá usufruir dos recursos de seus “servidores escravos”. Neste caso, o servidor mestre entre os servidores escravos.

uma cópia do diretório appserver. Assim, sugere-se a seguinte estrutura de diretórios para

Mais detalhes sobre a configuração de LOAD BALANCE, vide manual de instalação TOTVS Tec.

Utilizado para iniciar automaticamente uma seção definida no arquivo de arquivo de configuração será executada. ela será definida qual o ambiente será utilizado e qual

executar o agendador de tarefas (vide arquivo configurado no arquivo de configuração será Nome do programa (AdvPL) que executará o agendador de tarefas.

de execução para cada gatilho. dos gatilhos.

até a próxima atualização da lista de TOTVS Tec é 33. TOTVS Tec é 55. Tempo em segundos para a atualização automática das informações de gatilhos em

TOTVS Tec é 5. para os gatilhos a serem processados.

no servidor do agendador de tarefas, porém é necessário a definição dos servidores escravos no mesmo.

do agendador de tarefas. TOTVS.

TOTVS.

para o agendador de tarefas, é possível utilizar os mesmos

para distribuição de carga se do paradigma mestre-Neste caso, o servidor mestre

(8)

Desenvolvimento

Para que seja possível um programa do Logix ser executado através do agendador de tarefas, o mesmo deve ser adaptado conforme

programas de execução no agendador de tarefas:

1. O processo definido na tarefa do gatilho deve ser desenvolvido no

nome da função e esta deve sempre receber como parâmetro o nome da rotina (mesmo que não informada no cadastro);

2. O parâmetro “rotina” possibilita a definição de várias rotinas

3. A função JOB deverá obrigatoriamente retornar uma situação, sendo o zero indicador que não houve erros ou diferente de zero caso tenha ocorr

registro de execução, se o gatilho foi executado com sucesso ou não;

4. Caso tenha a necessidade de utilizar o usuário ou empresa para processamento do programa estes devem ser cadastrados como parâmetro para a tarefa e a função

receber estes parâmetros;

5. Os parâmetros informados para o processo devem ser recuperados dentro da função função JOB_get_parametro_gatilho_tare

6. O LOG0010 não fará retorno destes parâmetros quando executado via com o banco de dados e a carga das variáveis de ambiente.

Veja um exemplo de código fonte 4GL prepara

ara que seja possível um programa do Logix ser executado através do agendador de tarefas, o mesmo deve ser adaptado conforme os padrões de desenvolv

programas de execução no agendador de tarefas:

O processo definido na tarefa do gatilho deve ser desenvolvido no 4GL com a palavra

nome da função e esta deve sempre receber como parâmetro o nome da rotina (mesmo que não

O parâmetro “rotina” possibilita a definição de várias rotinas JOB em um único arquivo de programa; deverá obrigatoriamente retornar uma situação, sendo o zero indicador que não houve erros ou diferente de zero caso tenha ocorrido algum erro. Esse retorno define o que será gravado no registro de execução, se o gatilho foi executado com sucesso ou não;

Caso tenha a necessidade de utilizar o usuário ou empresa para processamento do programa estes devem ser cadastrados como parâmetro para a tarefa e a função JOB deve ser preparada para

Os parâmetros informados para o processo devem ser recuperados dentro da função

JOB_get_parametro_gatilho_tarefa;

não fará retorno destes parâmetros quando executado via JOB, apenas fará a conexão com o banco de dados e a carga das variáveis de ambiente.

Veja um exemplo de código fonte 4GL preparado para JOB.

ara que seja possível um programa do Logix ser executado através do agendador de os padrões de desenvolvimento para os

com a palavra _job após o nome da função e esta deve sempre receber como parâmetro o nome da rotina (mesmo que não

em um único arquivo de programa; deverá obrigatoriamente retornar uma situação, sendo o zero indicador que não houve

ido algum erro. Esse retorno define o que será gravado no

Caso tenha a necessidade de utilizar o usuário ou empresa para processamento do programa JOB, deve ser preparada para

Os parâmetros informados para o processo devem ser recuperados dentro da função JOB através da

(9)

DATABASE logix

GLOBALS

DEFINE p_user LIKE usuarios.cod_usuario

DEFINE p_cod_empresa LIKE empresa.cod_empresa

END GLOBALS

#---#

FUNCTION sssnnnn_job(l_rotina)

#---#

DEFINE l_msg CHAR(100)

DEFINE l_rotina CHAR(006)

IF LOG_initAPP("[CHAVE_SISTEMA_LOGIX]") > 0 THEN

# Falha na execução do JOB (sem permissão de executar o processo).

RETURN 1 END IF CASE l_rotina WHEN "[NOME_ROTINA_AGENDADOR]"

# Recupera o parâmetro (simples) 1 de sequencia 0 da tarefa

# (código da empresa).

CALL JOB_get_parametro_gatilho_tarefa(1,0)

RETURNING status, p_cod_empresa

IF p_cod_empresa IS NULL OR p_cod_empresa = " " THEN

LET l_msg = "Parâmetro 1 de sequencia 0 (código da empresa) ",

"não repassado para a tarefa agendada."

CALL LOG_consoleError(l_msg)

RETURN 1 # Falha na execução do JOB.

END IF

# Quando empresa é recebida como parâmetro no gatilho JOB, deve-se

# acionar a função abaixo para garantir que todo processamento a # partir deste ponto considere esta empresa para processamento. # Se a rotina processar dados para várias empresas e

# consequentemente acionar outras aplicações via FGLRUN, deve-se # sempre acionar a função abaixo toda vez que precisar considera # esta empresa como geral como se fosse o valor atual da

# variável global P_COD_EMPRESA.

CALL JOB_setCompany(p_cod_empresa)

# Recupera o parâmetro (lista) 2 de sequencia 1 da tarefa

# (código do usuário).

CALL JOB_get_parametro_gatilho_tarefa(1,0)

RETURNING status, p_user

IF p_user IS NULL OR p_user = " " THEN

LET l_msg = "Parâmetro 2 de sequencia 1 (código do usuário) ",

"não repassado para a tarefa agendada."

CALL LOG_consoleError(l_msg)

RETURN 1 # Falha na execução do JOB.

END IF

CALL sssnnnn_processamento()

END CASE

RETURN 0 # JOB executado com sucesso.

Referências

Documentos relacionados

AGRADECIMENTOS A Deus e ao grupo de Renovação Carismática da Igreja das Dores, pelo apoio espiritual para superação das dificuldades no desenvolvimento deste estudo; À

A análise de uma possível relação entre o consumo alimentar não saudável e risco psíquico é descrita na Tabela 2, na qual se pode perceber percentuais superiores para

epistemologia de Fleck foram analisados: a evolução do conhecimento sobre doença em seu aspecto zoonótico por meio de dados científicos entre os anos de 1996 a 2015; o

Avaliar o potencial de aproveitamento da biomassa do fruto de uva-do-japão (Hovenia dulcis T.), obtida na fermentação alcoólica, na forma de farinha para obtenção de

A utilização de atrativo alimentar comercial em armadilhas alternativas como da garrafa PET® incolor, apresentaram maior eficiência para a captura de mosca-da- frutas, para

Por essas razões, o ponto de colheita ideal é considerado um fator importante para ma- nutenção da qualidade e está na depen- dência do destino que será dado ao fruto durante

Então, em Belém, há principalmente duas situações que podem provocar eventos extremos: Na estação chuvosa, quando a grande escala (ZCIT) está atuando sobre a região, e

Motivação Dentre os fatos que motivaram o desenvolvimento deste sistema, pode-se citar: o registro manual e descentralizado dos dados da população assistida, dificultando a