Automação Python

Guia sobre como gerenciar a execução das suas automações, conheça o BotCity Runner.

O processo de entrega de uma automação RPA passa por algumas fases. Podemos começar considerando o mapeamento dos processos existentes, como eles funcionam e como melhorá-los. Após isso, pode ser feita uma análise do que vale a pena ou não ser automatizado e então a demanda é direcionada para o seu time de desenvolvimento. Durante essa etapa, pode acabar sendo definida a forma de execução dos robôs que serão criados, de acordo com a necessidade de cada processo. E para executar os robôs, nós temos a ferramenta chamada BotCity Runner, a qual entenderemos melhor durante este artigo.

Por que preciso me preocupar onde e como minha automação será executada?

Porque dependendo do processo a ser atendido, pode ser que haja necessidade da automação ser executada diretamente na máquina da pessoa usuária, por exemplo. Ou talvez em um computador que poderia ser um servidor. Ou ainda pode ser que valha mais a pena disponibilizar esse robô em uma máquina virtual ou em alguma nuvem, seja AWS, Google Cloud, Azure, entre outras. E essas definições podem influenciar diretamente em alguns itens:

  • como desenvolver esse robô: modo e configuração headless.
  • como deverá ser o ambiente a ser executado: o que precisa ter instalado nesse ambiente para o robô conseguir executar.

Vamos explorar um pouco mais dos tópicos explicados acima.

Como desenvolver o robô considerando onde ele precisará ser executado

Durante o desenvolvimento da sua automação, você pode ter que tomar a decisão de colocar a execução para acontecer de modo headless ou não. O que isso significa?

  • Modo headless ativado: quando sua automação pode ser executada em segundo plano, sem necessariamente ter interação com uma interface gráfica. Exemplos: crawlers, processamento de dados, gerar relatórios, fazer algum tipo de integração entre sistemas diferentes através de APIs, entre outras. Neste caso, utilizaríamos o runner background.
  • Modo headless desativado: quando sua automação não pode ser executada em segundo plano, porque possui alguma necessidade de interação com interfaces gráficas e não pode ter mouse e teclado comprometidos durante sua execução. Exemplos: preenchimento de formulários, interação com sistemas como SAP, TOTVS, entre outros. Neste caso, utilizaríamos o runner desktop.

Você pode acessar nosso artigo explorar um pouco mais sobre as diferenças entre Runner Desktop e Runner Background.

No seu código, utilizando o framework Open Source Web da BotCity, você pode configurar o headless da seguinte forma:

# Criando o objeto do bot utilizando o framework Web
bot = WebBot()

# Configurando headless como verdadeiro para executar a automação em segundo plano
bot.headless = True

OBS: Para não executar a automação em modo headless, basta trocar o valor para False, conforme código a seguir.

# Criando o objeto do bot utilizando o framework Web
bot = WebBot()

# Configurando headless como falso para não executar a automação em segundo plano
bot.headless = False

Para mais detalhes, consulte a nossa documentação.

Como deverá ser o ambiente considerando onde o robô será executado?

Caso você desenvolva sua automação com os nossos frameworks, por exemplo, você pode ter a necessidade de que alguns pacotes sejam instalados no local onde você vai executar as automações, como o Python, alguns frameworks ou bibliotecas utilizadas no código, entre outros. Isso pode variar de acordo com a tecnologia que você utilizou durante o desenvolvimento. O ambiente corretamente configurado, pode ajudar a evitar diversos problemas na hora da execução.

O que é e como gerenciar tudo isso com o BotCity Runner?

O BotCity Runner é a ferramenta que vai executar sua automação, buscando as tarefas que precisam ser executadas e configurando o ambiente na máquina onde a execução for acontecer.

print da tela do runner

Para isso, deve ser instalado e configurado seguindo as orientações da nossa documentação, no local onde sua automação deverá rodar:

  • pode ser no computador físico de clientes;
  • pode ser em uma máquina virtual;
  • pode ser em nuvem (AWS, Google Cloud, Azure, entre outras).

Como o Runner sabe preparar o ambiente e o que precisa ser executado?

Durante o processo de deploy da sua automação em nosso orquestrador, você define o(s) runner(s), escolhendo um que você já tenha ou ainda criando um novo, se necessário.

print da tela do orquestrador no menu easy deploys

Ao fazer essa configuração, você está permitindo que o BotCity Orquestrador comunique-se perfeitamente com o BotCity Runner e haja uma conexão, de fato, entre a automação e o(s) runner(s) definido(s) para ela.

na imagem consta um fluxo no qual do lado esquerdo tem uma área chamada BotCity Orquestrador e dentro dela está um retângulo representando a automação. Ainda nesse espaço, há dois retângulos representando duas tarefas diferentes conectadas à automação. No lado direito há outra área chamada Computador que vai executar a automação. Dentro dessa área tem dois retângulos representando runners diferentes. Há uma seta apontando da automação em direção ao runner.

Então, o Runner saberá o que precisa ser configurado no ambiente de execução e quais tarefas deverão ser executadas de acordo com essa mesma automação que foi configurada previamente no orquestrador.

Como o Runner funciona?

Quando o runner está online (ativo), ele pergunta para o BotCity Orquestrador se há alguma tarefa nova das automações definidas para ele para ser executada. Enquanto houverem tarefas prontas para execução para aquele runner específico rodar naquele momento, ele vai buscar essa tarefa, preparar o ambiente, executar a tarefa e voltar a perguntar se há alguma nova tarefa para executar.

O fluxo está na seguinte ordem: Começa pelo item Início. O passo seguinte é a verificação se o runner está online. Caso não esteja, vai para a ação de tentar reconectar e depois verifica novamente se está online. Caso o runner esteja online, o passo seguinte é verificar se tem novas tarefas. Se não tiver, verifica-se o status do runner para depois ver novamente se tem tarefas. Fica nesse fluxo até ter uma nova tarefa para executar. Se tiver tarefa, o runner vai para o passo de preparar o ambiente e em seguida para o passo de executar a tarefa. Em seguida volta a verificar se tem tarefa nova para executar.

* Se acontecer do runner ficar offline por algum motivo, o Orquestrador espera o tempo de cinco minutos, enquanto o runner tenta ficar ativo novamente. Caso não volte a ficar disponível, será enviada uma notificação via e-mail para avisar do ocorrido.

Um runner pode ficar offline por alguns motivos: aconteceu algum problema na máquina onde está configurado para executar, o computador desligou, perdeu a conexão com a rede, o runner foi fechado abruptamente, entre outros.

Quantidade de automações por runner e o paralelismo

Lembra do momento de escolher o runner que a automação deverá utilizar para execução no momento do deploy? É importante lembrar que a automação pode ser conectada a mais de um runner, se necessário.

print da tela do easy deploy com dois runners selecionados para a automação

Isso pode ser muito útil, pois se todos os runners selecionados estiverem disponíveis, ao criar várias tarefas para essa automação em específico, elas poderão ser executadas em paralelo, agilizando o processo.

Também é importante citar que você pode conectar mais de uma automação ao mesmo runner. A execução das tarefas será feita de acordo com a ordem que elas foram criadas ou ainda de acordo com a priorização que você configurar. Você pode ver mais detalhes sobre essa funcionalidade de prioridade na documentação.

print da tela new task com uma seta apontando em destaque para o campo de preenchimento da prioridade da execução da tarefa

Certo, então qual é o resumo disso tudo?

O BotCity Runner é a ferramenta que deve ser configurada no local onde a automação deverá rodar ou em alguma máquina na nuvem, para então se conectar com o BotCity Orquestrador para puxar as tarefas que estão prontas para serem executadas em determinado momento na fila, de acordo com a ordem e a priorização, além de ser também a ferramenta que vai ajudar a preparar o ambiente para essa execução acontecer de forma correta.

Como faço para testar essas funcionalidades?

Basta criar a sua conta gratuita e aproveitar a licença de comunidade para testar as ferramentas da BotCity. E qualquer dúvida, estamos à disposição na comunidade do Slack ou ainda no nosso fórum.

She/her. I am a Tech Writer and Developer Relations at BotCity. I am also a tech content creator who loves tech communities and people.

Deixe uma resposta

%d