Ir para o conteúdo

Orquestrando sua automação

Pré-requisitos

Visão Geral

A orquestração de automações permite gerenciar a execução de tarefas de forma automatizada, sendo capaz de isolar tarefas para que possam ser executadas sequencialmente.

O BotCity Maestro é uma plataforma de automação usada para apoiar o processo de desenvolvimento de bots e outros tipos de automações, permitindo a implantação e orquestração de processos em tempo de execução.

Ciclo de Vida

O processo de automação possui um ciclo de vida dividido em algumas etapas:

  • Preparação do Projeto: o desenvolvedor deve conhecer o fluxo de processamento.
  • Criando o Projeto: o desenvolvedor cria o projeto de automação, que pode ser em Python, Java, Javascript ou Typescript.
  • Desenvolvendo o Robô: o robô será desenvolvido nesta etapa.
  • Implantação no Maestro: após a conclusão do processo de build, o desenvolvedor enviará o robô para a plataforma e definirá qual versão será utilizada em produção.
  • Criando o Runner: o desenvolvedor irá criar o Runner responsável pelo processo.
  • Configurando o BotRunner: o desenvolvedor define o machineId na configuração do SDK.
  • Criando o Processo de Automação: o desenvolvedor irá criar a automação, selecionando o Runner que foi criado e o robô que foi implantado.
  • Iniciando o BotRunner: o desenvolvedor iniciará o BotRunner a partir do terminal.
  • Criando uma Tarefa: o desenvolvedor ou o usuário que será responsável pela execução do robô criará uma tarefa para o BotRunner executar.
  • Execução da Tarefa: o BotRunner irá executar a tarefa.

Criando um projeto

Para construir um bot precisamos criar um projeto na estrutura Java, Javascript ou Python que será utilizada para desenvolver o bot.

Para criar um novo projeto siga os tutoriais abaixo:

Importante

Além dos projetos que seguem um modelo, você também pode orquestrar seus próprios projetos customizados.

Veja mais detalhes sobre como orquestrar projetos customizados.

Info

Para este tutorial, usaremos um projeto Python Web Bot.

Construindo seu projeto

Para enviar o bot para o Maestro você precisa realizar o processo de "build" do projeto. Se você estiver no Windows, execute o arquivo build.bat no diretório raiz do projeto, caso contrário, execute o arquivo build.sh no Linux ou macOS.

.\build.bat
./build.sh

Dica

Se você receber um erro de permissão, certifique-se de que seu script build.sh tenha permissão de execução.

Você pode definir a permissão com o seguinte comando:

chmod +x build.sh

Easy Deploy

Depois de construir o projeto, a próxima etapa é implantar a automação no BotCity Maestro.

A maneira mais fácil de fazer sua primeira implantação é por meio do recurso Easy Deploy do Maestro.

O processo do Easy Deploy é basicamente dividido em três etapas:

  1. Criando/atualizando uma automação
  2. Implantando um bot
  3. Escolhendo onde executar

Easy Deploy options

Para criar uma automação do zero, selecione a opção: Criar nova automação

Primeiro Passo - Criando uma automação

O primeiro passo é preencher algumas informações do processo de automação que está sendo criado.

EasyDeploy

Info

Veja mais detalhes sobre o gerenciamento de Automações nessa seção.

Segundo Passo - Implantando um robô

O segundo passo é preencher as informações sobre o seu robô.

Nessa etapa, você irá fazer o upload do arquivo referente ao robô e definir a versão, o identificador e qual tecnologia está sendo utilizada.

EasyDeploy Step 2

Projetos Java

Para projetos Java, utilize o arquivo .jar gerado na pasta dist/. Se dois arquivos .jar forem gerados, carregue o arquivo com jar-with-dependencies no nome.

Projetos Python

Para projetos Python, utilize o arquivo .zip ou .tar.gz gerado na pasta dist/.

Projetos Javascript

Para projetos Javascript, utilize um arquivo .zip contendo os arquivos do projeto, como bot.js, pasta resources e package.json.

Aviso para projetos legados

Para automações Python, se você estiver usando um modelo de projeto legado, o identificador do robô deve corresponder ao id definido na criação do projeto.

Se o nome gerado automaticamente não for igual ao ID do projeto criado, altere-o para que os identificadores correspondam.

Basicamente, o identificador do robô aparece no nome do arquivo .tar.gz gerado que está sendo usado.

Último Passo - Escolhendo onde executar

A terceira e última etapa é definir qual Runner será associado a esta automação.

EasyDeploy Step 3

Nota

Para associar um Runner à uma automação é necessário que ele já esteja devidamente criado e configurado na plataforma.

Veja mais detalhes sobre como criar e configurar um Runner na seção Runners.

Importante

No arquivo localizado em conf/conf.bcf do BotCity Studio SDK, garanta que o ID do Runner que será utilizado corresponde ao Runner que foi vinculado à automação.

machineId=runner-01  # <- your runner id here
logScreen=true
logApplication=true

Veja mais detalhes sobre a configuração do BotCity Studio SDK.

Sucesso 🚀

Parabéns 🏆

Em poucos segundos você conseguiu configurar seu processo de automação, associá-lo ao seu robô e definir onde ele será executado.

Agora você tem a opção de criar uma nova tarefa ou agendamento para esta automação.

Ao fazer isso, uma nova tarefa será enfileirada e assim que o Runner associado à automação estiver ativo, a execução será iniciada automaticamente.

EasyDeploy NewTask

Nas próximas seções, abordaremos com mais detalhes como criar e executar tarefas.

Gerenciamento de Automações via BotCity Maestro

O processo de Easy Deploy é muito útil para a primeira implantação de nossa automação.

No entanto, em determinados momentos, podemos precisar implantar novas versões ou atualizar versões existentes de nosso robô associado à nossa automação.

Através do Easy Deploy também conseguimos atualizar automações já existentes na plataforma.

Easy Deploy - Existing Automation

Após selecionar uma automação existente, você conseguirá editar o robô e também os Runners vinculados a esse processo.

Atualizando seu robô

Na tela contendo as informações do robô, você poderá atualizar a versão atual que está sendo utilizada ou subir uma nova versão.

Basta fazer o upload do arquivo do robô e informar a versão referente.

Caso você mantenha a mesma versão que já estava sendo utilizada, esse novo arquivo irá sobrescrever o arquivo utilizado anteriormente.

Easy Deploy - Update Bot

Dica

Caso você deixe a opção Fazer release desta versão marcada, essa será a versão utilizada nas próximas execuções da automação.

Atualizando os Runners

Nessa etapa você conseguirá editar os Runners que estão vinculados ao processo de automação.

Easy Deploy - Update Runner

Gerenciando tarefas

Tarefas são instâncias de uma automação que são criadas pelo usuário por meio da interface de usuário no Maestro, BotCity CLI, SDK do Maestro ou API do Maestro.

Página de criação de tarefas

Você pode criar uma tarefa por meio da página de criação de tarefas no Maestro.

Basta clicar no botão Nova Tarefa referente ao processo de automação que deseja executar.

New Task

Dica

A Automação criada no processo de Easy Deploy será exibida nesta página.

Info

Veja mais detalhes sobre a página Nova Tarefa nessa seção.

Executando tarefas

Após a criação de uma tarefa, ela será enviada para a fila e nesse momento estará pronta para ser executada.

O último passo necessário é ativar o Runner. Basta executar o script BotRunner ou BotRunner-gui do BotCity Studio SDK.

Finalizando uma tarefa

Depois que as tarefas são criadas, elas são enfileiradas no BotMaestro e coletadas para execução pelo BotRunner.

Existem duas maneiras de finalizar uma tarefa: via código (junto com o código do bot) ou via CLI.

É responsabilidade do desenvolvedor do robô informar ao BotMaestro por meio do SDK sobre o status final adequado de uma tarefa.

Clique aqui para aprender como finalizar uma tarefa usando o Maestro SDK.

Info

Finalizar uma tarefa é apenas uma das possíveis integrações que podemos fazer com o BotCity Maestro.

Veja mais detalhes sobre as integrações com o BotCity Maestro nessa seção.

Dica

A maioria das funcionalidades acima também podem ser feitas através da interface de linha de comando da BotCity.

Veja mais detalhes sobre as linhas de comando que podem ser usadas.

Solução de problemas

Q: O Runner não executa o robô

  1. Certifique-se de escolher o runner corretamente na automação.
  2. Verifique se a configuração do SDK está com o machineId correto.
  3. Certifique-se de iniciar o runner.
    • Se você estiver executando com GUI, clique no botão "START" para estabelecer conexão com o Maestro.
  4. Abra o arquivo log.txt no diretório raiz do SDK e verifique se houve algum erro.
  5. Certifique-se de que o runner esteja sendo executado no terminal.
  6. Verifique se o runner tem acesso à Internet.