Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

CONTEÚDO

  1. Visão Geral
  2. Objetivo
  3. Pré-requisitos
  4. Instalação
  5. Configuração
  6. Iniciar o serviço instalado
  7. Novidades


01. VISÃO GERAL

O serviço de Automação de Tarefas Datasul é um substituto do RPW clássico (btb908za). Mais moderno, a execução de pedidos passou a ser realizada em broker appserver já utilizando a funcionalidade de Broker Escalável. Além disso, possui uma configuração e administração mais simplificada, pois ao contrário do RPW clássico, o Automação de Tarefas é único por instalação do ERP, isso significa que um único Automação de Tarefas irá gerenciar todos os servidores RPW que estão presentes em uma instância da aplicação. O Automação de Tarefas Datasul também conta com novas funcionalidade como priorização de pedidos, também há a possibilidade de alterar e duplicar pedidos de execução e suas respectivas agendas, trazendo mais produtividade para a criação de pedidos de execução.


02. Objetivo

Esta documentação tem a finalidade de servir como uma guia no momento da migração do RPW padrão para o Automação de Tarefas Datasul e apresentar suas novas funcionalidades.


03. Pré-requisitos

  • Datasul versão 12.1.2205 ou superior
  • Java 11


04. Instalação

Copiar arquivo compactado


O arquivo está localizado no diretório do Foundation fnd/interfac/TaskManager/TaskManager.zip.

Extrair os arquivos do arquivo compactado

Expandir
titleProcedimento

Extrair os arquivos em um diretório de sua escolha. 

Exemplo: "C:/TOTVS/TaskManager"

Como resultado obtém-se a estrutura abaixo:

  • C:\TOTVS\TaskManager\application.properties
  • C:\TOTVS\TaskManager\README.txt
  • C:\TOTVS\TaskManager\lib\TaskManager.jar
  • C:\TOTVS\TaskManager\service\Linux\taskmanager
  • C:\TOTVS\TaskManager\service\Linux\TaskManager.sh
  • C:\TOTVS\TaskManager\service\Windows\install.bat
  • C:\TOTVS\TaskManager\service\Windows\JavaService.exe
  • C:\TOTVS\TaskManager\service\Windows\uninstall.bat

Instalador de serviço para Windows

Expandir
titleProcedimento

Editar o arquivo "/service/Windows/install.bat"

Bloco de código
languagebash
themeRDark
:default
@echo on

chcp 65001

set JAVA_HOME=C:/Java/jdk-11 
set TASKMANAGER_HOME=C:/TOTVS/TaskManager

mkdir "%TASKMANAGER_HOME%/log"

JavaService.exe -install "TOTVS TaskManager-RPW" "%JAVA_HOME%/bin/server/jvm.dll" -path %JAVA_HOME%/bin
-Djava.class.path="%TASKMANAGER_HOME%/lib/TaskManager.jar" -startXms32m -Xms32mXmx64m -Xmx64mstart org.springframework.boot.loader.JarLauncher -out %TASKMANAGER_HOME%/log/taskmanager_out.log -err %TASKMANAGER_HOME%/log/taskmanager_err.log -current %TASKMANAGER_HOME% -manual -description "Serviço para a execução do RPW em AppServer"

@echo off

:eof

@echo .
@echo .
@echo .
PAUSE.
Expandir
titleNome do serviço
  • Por padrão temos o nome do serviço definido como "TOTVS TaskManager-RPW"
  • Sugerimos o uso do nome do seu ambiente para complementar e facilitar a organização do serviço.
Expandir
titleDescrição do serviço
  • A descrição do serviço pode ser alterada por meio do parâmetro -description.
Expandir
titleJAVA
  • Deve ser utilizado JAVA 11
  • No arquivo é feito o uso de uma variável JAVA_HOME local, apontando por padrão para o diretório C:/Java/jdk-11, caso seja necessário, altere o valor de JAVA_HOME para apontar para outro diretório válido de uma instalação de Java 11
Expandir
titleParâmetros
  • Os parâmetros -Djava.class.path, -current e -err fazem criam o uso do valor informando em TASK_MANAGER_HOME (ajustar para o diretório definido nas etapas anteriores).
Expandir
titleLogs
  • Os parâmetros-out %TASKMANAGER_HOME%/log/taskmanager_out.log -err %TASKMANAGER_HOME%/log/taskmanager_err.log geram logs padrões no diretório. 
    Estes logs por padrão não permitem a quebra do log em partes menores. Caso exista essa necessidade, os parâmetros de log acima devem ser removidos do arquivo de instalação install.bat e a configuração dos logs deverá ser realizada no arquivo de propriedades application.properties descrito nas próximas etapas.

Instalação do serviço:

  • Execute Prompt de Comando como administrador
  • Execute o arquivo "TaskManager/service/Windows/install.bat"

Desinstalador de serviço para Windows

Expandir
titleProcedimento

Editar o arquivo "/service/Windows/uninstall.bat"

  • Informe o nome do serviço definido na etapa anterior (Instalador de serviço para Windows)

Desinstalação do serviço:

  • Execute Prompt de Comando como administrador
  • Execute o arquivo "/service/Windows/uninstall.bat"

Instalador de serviço para Linux

Expandir
titleProcedimento - Linux Java Service Wrapper
  1. Copiar o arquivo TaskManager/service/Linux/taskmanager em /etc/init.d/
  2. Modificar as linhas abaixo do arquivo TaskManager/service/Linux/taskmanager caso seja alterado o diretório do .jar

    Bloco de código
    themeRDark
    PATH_JAR=/usr/local/TaskManager/
    PID_PATH_NAME=/usr/local/TaskManager/TaskManager-pid
    nohup java -jar $PATH_TO_JAR >> /usr/local/TaskManager/log/TaskManager.out 2>&1&
  3. Conceder permissões caso ainda não esteja configurado: 

    Bloco de código
    themeRDark
    sudo chmod +x /etc/init.d/taskmanager


  • Comandos para testes
      - Runs:      sudo service taskmanager start
      - Stops:     sudo service taskmanager stop
      - Restarts: sudo service taskmanager restart
Expandir
titleProcedimento - Ubuntu 16+ Java Service Wrapper
  1. Criar um arquivo em /etc/systemd/system/ 

    Bloco de código
    themeRDark
    sudo vi /etc/systemd/system/TaskManager.service
  2.  Conteúdo do arquivo TaskManager.service

    Bloco de código
    themeRDark
    [Unit]
    Description = TaskManager Java Service
    After network.target = TaskManager.service
    
    [Service]
    Type = forking
    ExecStart = /usr/local/bin/TaskManager.sh start
    ExecStop = /usr/local/bin/TaskManager.sh stop
    ExecReload = /usr/local/bin/TaskManager.sh reload
    
    [Install]
    WantedBy=multi-user.target
  3.  Copiar o arquivo TaskManager/service/Linux/TaskManager.sh em /usr/local/bin/ 

  4.  Modificar as linhas abaixo caso seja alterado o diretório do .jar

    Bloco de código
    themeRDark
    PATH_JAR=/usr/local/TaskManager/
    PID_PATH_NAME=/usr/local/TaskManager/TaskManager-pid
    nohup java -jar $PATH_TO_JAR >> /usr/local/TaskManager/log/TaskManager.out 2>&1&
  5.  Conceder permissões caso ainda não esteja configurado

    Bloco de código
    themeRDark
    sudo chmod +x /usr/local/bin/TaskManager.sh
  6. Criar o diretório de log (alterar o caminho caso a instalação seja em outro local)

    Bloco de código
    themeRDark
    /usr/local/TaskManager/log


Comandos para testes

  • Runs:        /usr/local/bin/./TaskManager.sh start
  • Stops:       /usr/local/bin/./TaskManager.sh stop
  • Restarts:   /usr/local/bin/./TaskManager.sh restart
  • Habilitar o serviço:  sudo systemctl enable TaskManager
  • Iniciar o serviço:      sudo systemctl start TaskManager.service
  • Parar o serviço:       sudo systemctl stop TaskManager.service

Aviso:A instalação do TaskManager deve ser única por instância do ERP. Caso exista mais de um serviço apontando para um broker appserver que esteja conectado ao mesmo banco EMSFND poderão ocorrer divergências inesperadas nas execuções dos pedidos.

05. Configuração


Arquivo de configuração


Arquivo de configuração application.properties.

Utilizando a pasta de exemplo dos passos anteriores, podemos encontrar o arquivo em: "/TaskManager/application.properties"


Configurações do arquivo application.properties


Expandir
titleProcedimento

Altere o arquivo application.properties e adicione as propriedades conforme exemplo abaixo

Bloco de código
themeRDark
appserver_url=AppServer://localhost:5162/Broker10
server.port=1095
refresh_interval=10
  • appserver_url: Deve ser preenchido com o nome do servidor de aplicação que atenderá as requisições do orquestrador. Pode ser preenchido com informação de um servidor de aplicação já utilizado no ERP. 
  • server.port: Porta que será utilizada para subir o serviço. Esta propriedade é opcional, e caso não seja preenchida será assumida a porta padrão 8080.
  • refresh_interval: Esta propriedade indica o intervalo em segundos que o orquestrador fará a verificação se existem novos pedidos a serem executados. Esta propriedade é opcional, e caso não seja preenchida será assumido o valor padrão de 10 segundos. 

Caso na etapa de instalação tenha sido optado por remover a configuração padrão de geração de logs, devem ser definidas as propriedades conforme exemplo abaixo:

Bloco de código
themeRDark
logging.file.name=log/taskmanager.log
logging.file.max-size=100MB
  • logging.file.name: Sub-diretório de geração dos logs, com base no diretório raiz onde foi instalado o TaskManager. Ex: C:\totvs\TaskManager.
  • logging.file.max: Limite de tamanho de cada arquivo de log, após alcançar o limite é criado um novo arquivo. Arquivos de logs anteriores são mantidos no diretório.




Criação dos brokers 

Expandir
titleProcedimento

No Automação de Tarefas Datasul os pedidos serão executados em brokers específicos para o RPW, por isso é necessário que esses brokers sejam criados para que no próximo passo seja possível fazer o vínculo de Servidor x Broker. 

Deve ser criado ao menos um broker para cada empresa existente no ERP. 

Link para documentação de como criar um appserver.

Sugere-se que os brokers criados sejam criados com a configuração de Pool Range - Minimum servers com valor 0 (zero). Desta forma, não ficarão agents no ar quando não houver pedidos em execução.

Habilitar o Automação de Tarefas Datasul

Expandir
titleProcedimento

Para começar a utilizar o Automação de Tarefas Datasul, é necessário habilitar o uso através de uma propriedade, para isso:

  • Acesse o Datasul
  • Acesse o programa propriedades-rpw
  • Marque como ativo a propriedade 'Habilita Automação de Tarefas Datasul'
  • Salve a alteração realizada

Após fazer isso, os pedidos não serão mais executados através do programa btb908za, somente através do Automação de Tarefas Datasul. Porém é possível desabilitar essa configuração caso seja necessário.

Criar/alterar servidor de execução

Expandir
titleProcedimento
  • Acesse o Datasul
  • Acesse o programa btb962aa

Os passos a seguir devem ser feitos para todas empresas cadastradas no programa btb962aa:

  • Selecione a aba 'Servidores'
  • No momento da migração, são criados automaticamente servidores do Novo RPW para todos os servidores que já existiam na base e não possuíam relação com nenhuma empresa. Por isso, podem aparecer alguns registros já criados com o aplicativo definido 'RPW'
  • Caso já existam os registros, é necessário apenas alterá-los, preenchendo o campo "Servidor de aplicação" com o valor do nome do servidor que será responsável pela execução dos pedidos de execução deste servidor e revisando as informações preenchidas na migração (selecione o botão 'Config. RPW) para ver algumas configurações específicas.
  • Caso os registros não existam, será necessário criar novos registros, instruções detalhadas podem ser encontradas em Cadastro de servidores

Ajuste de pedidos de execução

Expandir
titleProcedimento

Caso no passo anterior tenha sido utilizado os servidores criados pela migração, os pedidos de execução existentes já serão direcionados para os brokers criados para a execução de pedidos através do Automação de Tarefas Datasul. 

Caso tenham sido criados novos servidores com código diferentes, será necessário criar novos pedidos de execução para os pedidos pendentes utilizando o código dos novos servidores criados.

06. Iniciar serviço instalado



Após concluir as etapas anteriores, basta iniciar o serviço instalado e verificar no log se a aplicação foi iniciada com sucesso.

Bloco de código
themeRDark
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.5.6)

2022-04-06 10:48:20.318  INFO 15224 --- [           main] c.t.f.t.TaskManagerApplication           : Starting TaskManagerApplication v11.5.X-NFRW-SNAPSHOT using Java 11.0.10 on JVN019401640 with PID 15224 (C:\fndlm\TaskManager\lib\TaskManager.jar started by JVN019401640$ in C:\fndlm\TaskManager)
2022-04-06 10:48:20.322  INFO 15224 --- [           main] c.t.f.t.TaskManagerApplication           : No active profile set, falling back to default profiles: default
2022-04-06 10:48:20.867  INFO 15224 --- [           main] c.t.f.t.TaskManagerApplication           : Started TaskManagerApplication in 1.052 seconds (JVM running for 1.795)
2022-04-06 10:48:20.878  INFO 15224 --- [           main] c.t.f.t.TaskManagerApplication           : Inicializando RPW - AppServer: AppServer://localhost:5162/Broker10

Criar pedido de execução

Após a inicialização com sucesso, o ambiente estará pronto para execução de pedidos pelo Automação de Tarefas Datasul. Pode ser feita a criação de novos pedidos de execução para testar a execução de pedidos utilizando a nova funcionalidade. 

07. Novidades

  • Descontinuação do programa Monitoramento de Pedidos de Execução que foi substituído pelo novo monitor de pedidos com disponibilidade de alteração, duplicação e priorização de pedidos, veja mais detalhes na documentação do programa Monitor de Pedidos
  • Os programas Relatório Pedidos Execução e Eliminação de Pedidos de Execução foram descontinuados e substituídos pelo novo programa de geração de relatórios e saneamento de pedidos de execução, veja mais detalhes na documentação do programa Manutenção de Pedidos
  • Com o Automação de Tarefas Datasul habilitado, o programa Manutenção Servidor de Execução não é mais necessário e o cadastro de servidores agora deve ser realizado no programa de parâmetros, veja mais detalhes na documentação do programa Parâmetros Foundation (BTB962AA)
  • A partir da release 12.1.2403, foram adicionados parâmetros de memória "-Xms32m -Xmx64m" ao script de instalação do serviço do Taskmanager com o objetivo de redução do consumo de memória. Caso tenha realizado a instalação anteriormente a essa release e o serviço esteja consumindo memória acima de 300mb, recomendamos a recriação do serviço utilizando o script atualizado disponibilizado na sessão "Instalador de serviço para Windows" desta documentação.