Á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 Novo RPW - Task Manager é um substituto do RPW clássico (btb908za). Mais moderno, a execução de pedidos passou a ser realizada em um broker appserver já utilizando a funcionalidade de Broker Escalável, além da configuração mais simplificada, foram adicionadas funcionalidade como cancelamento e priorização de pedidos. 


02. Objetivo

Esta documentação tem a finalidade de servir como uma guia no momento da migração do RPW padrão para o Novo RPW (Task Manager) e apresentar as novas funcionalidades do Task Manager


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

Criar uma variável de ambiente TASKMANAGER_HOME, a variável deve apontar para o diretório onde foi realizado a descompactação.

Exemplo:

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

Desinstalação do serviço:

  • Execute Prompt de Comando como administrador
  • Execute o arquivo "TaskManager/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
titleProcecedimento - 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

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
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 produto. 
  • refresh_interval: Esta propriedade indica o intervalo em segundos que o orquestrador fará a verificação se existem novos pedidos a serem executados. O valor padrão desta propriedade é 10 segundos. 



Criação dos brokers 

Expandir
titleProcedimento

No Task Manager 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 um broker para cada empresa existente no ERP. 

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

Criar/alterar servidor de execução

Expandir
titleProcedimento
  • Acesse o Datasul
  • Acesse o 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 e revisando as informações preenchidas na migração
  • Caso os registros não existam, será necessário criar novos registros, instruções detalhadas podem ser encontradas em Cadastro de servidores

Habilitar o Task Manager

Expandir
titleProcedimento

Para começar a utilizar o Task Manager, é 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 Task Manager'

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

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
  INFO 15224 ---
[           main]
 [           main] c.t.f.t.TaskManagerApplication
          : Starting 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
  INFO 15224 ---
[           main]
 [           main] c.t.f.t.TaskManagerApplication
          : No active profile set, falling back to default profiles: default
           : No active profile set, falling back to default profiles: default
2022-04-06 10:48:20.867
 INFO
  INFO 15224 ---
[           main]
 [           main] c.t.f.t.TaskManagerApplication
          : Started TaskManagerApplication in
           : Started TaskManagerApplication in 1.052 seconds (JVM running for 1.795)


2022-04-06 10:48:20.878
 INFO
  INFO 15224 ---
[           main]
 [           main] c.t.f.t.TaskManagerApplication
          : Inicializando RPW - AppServer:
           : Inicializando RPW - AppServer: AppServer://localhost:5162/NovoFrame
2022-04-06 10:48:20.880  INFO 15224 --- [pool-1-thread-1] c.t.framework.taskmanager.TaskManager    : run: Iniciando processo de pesquisa e execução de pedidos.
2022-04-06 10:48:20.883  INFO 15224 --- [pool-1-thread-1] c.t.f.t.TaskManagerTasksHandler          : getTasks: Recuperando pedidos de execução. Appserver: AppServer://localhost:5162/NovoFrame
2022-04-06 10:48:21.333  INFO 15224 --- [pool-1-thread-1] c.t.f.p.c.ProgressConnectionManager      : Buscando conexao atual. companyId=null, userName=null, xTotvsApp=null, xTotvsAlias=null, dbHistId=null, programName=btb/TaskManagerHandler.p, programType=null, appServer=AppServer://localhost:5162/NovoFrame
2022-04-06 10:48:21.333  INFO 15224 --- [pool-1-thread-1] c.t.f.p.c.ProgressConnectionManager      : TOTVS-PROGRESS: Builded URL connection: AppServer://localhost:5162/NovoFrame
2022-04-06 10:48:21.333 ERROR 15224 --- [pool-1-thread-1] c.t.f.p.c.ProgressConnectionManager      : Arquivo .jar totvs-fwk-log nao encontrada na /lib do Tomcat
2022-04-06 10:48:21.413  INFO 15224 --- [pool-1-thread-1] c.t.f.p.c.ProgressConnectionManager      : Realizada conexao em (80ms)
2022-04-06 10:48:24.614  INFO 15224 --- [pool-1-thread-1] c.t.f.p.c.ProgressConnectionManager      : Recarregado a lista de brokers em: (1136ms)
2022-04-06 10:48:24.635  INFO 15224 --- [pool-1-thread-1] c.t.f.t.TaskManagerTasksHandler          : getTasks: outputJson:{"data":[]}

Criar pedido de execução

Após a inicialização com sucesso, pode ser feita a criação de novos pedidos de execução para testar a execução de pedidos utilizando o Task ManagerBroker1