Árvore de páginas

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

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

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

: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" -Xms32m -Xmx64m -start org.springframework.boot.loader.JarLauncher -current %TASKMANAGER_HOME% -manual -description "Serviço para a execução do RPW em AppServer"

@echo off

:eof

@echo .
@echo .
@echo .
PAUSE.
  • 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.
  • A descrição do serviço pode ser alterada por meio do parâmetro -description.
  • 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
  • Os parâmetros -Djava.class.path e -current fazem uso do valor informando em TASK_MANAGER_HOME (ajustar para o diretório definido nas etapas anteriores).


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

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

  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

    PATH_JAR=/usr/local/TaskManager/
    PID_PATH_NAME=/usr/local/TaskManager/TaskManager-pid
    nohup java -jar $PATH_TO_JAR &
  3. Conceder permissões caso ainda não esteja configurado: 

    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
  1. Criar um arquivo em /etc/systemd/system/ 

    sudo vi /etc/systemd/system/TaskManager.service
  2.  Conteúdo do arquivo TaskManager.service

    [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

    PATH_JAR=/usr/local/TaskManager/
    PID_PATH_NAME=/usr/local/TaskManager/TaskManager-pid
    nohup java -jar $PATH_TO_JAR &
  5.  Conceder permissões caso ainda não esteja configurado

    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)

    /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


Altere o arquivo application.properties e informe as propriedades appserver_url e server.port conforme exemplo abaixo, demais propriedades já possuem valores padrões que podem ser ajustados conforme a necessidade

appserver_url=AppServer://localhost:5162/Broker10
server.port=1095
refresh_interval=10
logging.file.name=log/taskmanager.log
logging.file.max-size=100MB
  • 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. 
  • 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 

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

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

  • 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

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.

2024-01-04 09:46:46.020  INFO 21380 --- [main] c.t.f.t.TaskManagerApplication           : Starting TaskManagerApplication v11.5.X-NFRW-SNAPSHOT using Java 11.0.10 on localhost with PID 21380 (C:\totvs\datasul\TaskManager\lib\TaskManager.jar started by localhost $ in C:\totvs\datasul\TaskManager)

2024-01-04 09:46:47.115  INFO 21380 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 1095 (http)
2024-01-04 09:46:47.128  INFO 21380 --- [main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-01-04 09:46:47.129  INFO 21380 --- [main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.54]
2024-01-04 09:46:47.185  INFO 21380 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2024-01-04 09:46:47.186  INFO 21380 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1105 ms
2024-01-04 09:46:47.820  INFO 21380 --- [main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
2024-01-04 09:46:47.952  INFO 21380 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 1095 (http) with context path ''
2024-01-04 09:46:47.975  INFO 21380 --- [main] c.t.f.t.TaskManagerApplication           : Started TaskManagerApplication in 2.399 seconds (JVM running for 2.878)
2024-01-04 09:46:48.046  INFO 21380 --- [main] c.t.f.t.TaskManagerApplication           : Inicializando RPW - AppServer: http://localhost:8787/apsv

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.
  • A partir da release 12.1.2403, foram adicionados parâmetros de logs padrões ao arquivo application.properties, nos quais permitem limitar o tamanho de cada arquivo de log e também alterar o diretório de geração dos logs com mais facilidade.  Caso tenha realizado a instalação anteriormente a essa release, recomendamos que reinstale o serviço utilizando o novo script de serviço expedido e adicione manualmente ao arquivo application.properties os parâmetros logging.file.name e logging.file.max, conforme descrito na etapa "Configurações do arquivo application.properties" desta documentação.