Orquestrando sua automação¶
Pré-requisitos¶
- Conta BotCity (Signup)
- BotCity Studio SDK
- Python 3.7 ou superior
- Java 11 ou superior
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:
-
Projeto Python
-
Projeto Java
-
Projeto Javascript
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.
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:
- Criando/atualizando uma automação
- Implantando um bot
- Escolhendo onde executar
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.
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.
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.
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.
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.
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.
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.
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.
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.
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ô
- Certifique-se de escolher o runner corretamente na automação.
- Verifique se a configuração do SDK está com o machineId correto.
- Certifique-se de iniciar o
runner
.- Se você estiver executando com GUI, clique no botão "START" para estabelecer conexão com o Maestro.
- Abra o arquivo
log.txt
no diretório raiz do SDK e verifique se houve algum erro. - Certifique-se de que o runner esteja sendo executado no terminal.
- Verifique se o runner tem acesso à Internet.