A gestão da automação tem a ver com o processo sistemático de planejar, implementar, monitorar e revisar automações diversas.
Em RPA, este processo envolve desde a escolha do software RPA e plataformas certas até a orquestração e supervisão contínua dos bots, garantindo que as automações sejam eficazes e eficientes para o dia a dia da pessoa desenvolvedora e também para os objetivos estratégicos da organização.
Pensando nisso, chegamos ao quarto artigo da nossa série sobre Orquestração RPA pelo qual vamos entender como gerenciar os fluxos das automações pelos estados das tarefas utilizando nosso orquestrador, o BotCity Maestro.
Saiba mais: Orquestração RPA: Por que é importante orquestrar suas automações feitas em Python ou outras linguagens de programação?
Benefícios de uma boa gestão da automação
Seja para pessoas desenvolvedoras buscando facilitar tarefas do dia a dia ou para empresas com projetos de hiperautomação complexos, há diversos benefícios de uma boa orquestração de automações:
- Melhor aproveitamento de habilidades: Permite que desenvolvedores RPA se concentrem em tarefas complexas, deixando rotinas repetitivas para os bots;
- Flexibilidade de integração com diferentes frameworks de desenvolvimento: Facilita a integração de RPA com uma variedade de ferramentas e tecnologias existentes;
- Abrangência de projetos: Capacidade de escalar de automações pessoais a soluções empresariais complexas.
Pilares da gestão da automação em RPA
Já vamos explicar na prática como orquestrar estados de tarefas e fluxos de trabalho com a BotCity, ferramenta de Python RPA. Mas antes, aqui vão alguns pilares para a orquestração RPA para ter em mente.
- Agendamentos e filas de robôs, essencial para gerenciamento eficiente de tarefas e automações;
- Monitoramento de erros e alertas automáticos para resolução rápida de problemas;
- Batch processing para maior produtividade, com o processamento em lote de tarefas, arquivos, etc;
- Dashboards de performance de automação, interessantes para ter uma visão clara do desempenho das automações;
- Governança, especialmente importante para líderes de RPA, facilitando a gestão de repositórios e grupos de acesso para segurança e conformidade;
Agora, vamos a um exemplo prático de como gerir automações RPA. Como referência, estamos usando o projeto, Orquestração Enterprise RPA, disponível no GitHub da BotCity. Caso você esteja seguindo o passo a passo conosco, basta utilizá-lo também. Mas é importante ressaltar que não precisa ser um robô desenvolvido em Python para fazer orquestração.
Saiba mais: Orquestre qualquer tipo de automação com o BotCity Maestro
BotCity Maestro SDK
Neste caso, vamos mostrar como fazer a gestão de automações em RPA com o BotCity Maestro. É importante ressaltar que é disponibilizado SDK do BotCity Orquestrador para algumas linguagens de programação, como Python, Java, Javascript e Typescript.
Você pode consultar como utilizar da melhor forma consultando a nossa documentação. E a partir do SDK será possível incluir as funcionalidades do orquestrador no seu código, como o controle dos estados das tarefas que vamos entender a seguir.
Integração com BotCity Orquestrador
Sempre que você cria um projeto utilizando diretamente o template da BotCity, o seu código já terá algumas informações para essa integração acontecer. Mas caso você não tenha utilizado o template ou ainda tenha apagado o que foi criado, basta ajustar conforme exemplo abaixo.
from selenium import webdriver
from selenium.webdriver.common.by import By
from botcity.maestro import *
from selenium.webdriver.firefox.service import Service
from time import sleep
def main():
# O Runner passa a url do servidor, o id da tarefa que está sendo executada,
# o token de acesso e os parâmetros que esta tarefa recebe (quando aplicável).
maestro = BotMaestroSDK.from_sys_args()
# Busca o BotExecution com detalhes da tarefa, incluindo parâmetros
execution = maestro.get_execution()
print(f"Task ID is: {execution.task_id}")
print(f"Task Parameters are: {execution.parameters}")
try:
...
...
⚠️ Atenção:
Enquanto estiver executando o código localmente em seu computador, não há autenticação com o BotCity Maestro. E, por isso, alguns erros podem acontecer. Então durante seus testes locais, você pode adicionar a seguinte linha de código para evitar que esses problemas atrapalhem:
# Desativar erros se não houver conexão com o orquestrador
BotMaestroSDK.RAISE_NOT_CONNECTED = False
Gerenciando os fluxos das automações e os estados das tarefas
No último artigo, como criar e executar tarefas da sua automação no BotCity Orquestrador, percebemos que nós precisamos configurar no código da automação o estado da tarefa de acordo com o fluxo do processo. Quando não fazemos isso, mesmo que a tarefa tenha sido executada da maneira esperada, ficará com status de erro no BotCity Orquestrador.
Para configurar o status da finalização da tarefa, precisamos de três parâmetros:
- task_id: precisamos saber qual é a tarefa que será finalizada, então a partir da variável “execution” acessamos a task_id;
- status: neste exemplo, vamos criar a variável “finish_status” e defini-la como SUCCESS;
- message: neste exemplo, vamos criar a variável “finish_message” com uma mensagem que fique claro que a execução ocorreu com sucesso.
# Define status e mensagem de finalização da tarefa com sucesso
finish_status = AutomationTaskFinishStatus.SUCCESS
finish_message = "Tarefa bot-selenium finalizada com sucesso"
Elas serão utilizadas com o método finish_task( ) do SDK. Acompanhe mais detalhes em nossa documentação.
# Finaliza tarefa com o BotCity Maestro
maestro.finish_task(
task_id=execution.task_id,
status=finish_status,
message=finish_message
)
Além da opção “SUCCESS”, você também pode utilizar outros tipos de status para as suas tarefas, de acordo com o que aconteceu durante a execução:
- FAILED: significa que algum erro ocorreu e o robô não conseguiu executar a tarefa.
- PARTIALLY_COMPLETED: significa que houve um sucesso parcial, parte da tarefa foi executada com sucesso. Como um exemplo, pense em um robô que processa entradas em uma planilha, porém apenas uma parte dos dados é processada com sucesso.
Uma boa prática da programação é utilizar a seguinte estrutura de código para validação de erros:
try:
# neste escopo, o código tentará executar o que você desenvolveu
…
except Exception as error:
# este escopo será executado se houver algum erro no escopo do try
…
Pode ser válido utilizar essa prática para que você controle melhor os tipos de exceções que podem acontecer e quais são os status e mensagens adequadas para você configurar no seu robô.
Por exemplo, no caso do except, você pode configurar o código da seguinte forma:
finish_status = AutomationTaskFinishStatus.FAILED
finish_message = "Tarefa falhou."
maestro.finish_task(
task_id=execution.task_id,
status=finish_status,
message=finish_message
)
Executando as alterações no orquestrador
Você pode atualizar o build do seu robô executando um dos scripts, de acordo com o seu sistema (build.bat, buid.sh ou build.ps1), salvar a nova versão no BotCity Orquestrador, criar uma nova tarefa, ou caso tenha criado uma tarefa de teste, você pode reiniciá-la para executar.

Em nosso caso, você perceberá que agora a mensagem mudou. O status está como finalizado e a mensagem é exatamente a que configuramos no código “Tarefa bot-selenium finalizada com sucesso”.
Tudo certo para fazer a gestão de automação RPA?
Para participar da nossa comunidade global de RPA, é só entrar no nosso Slack ou ainda entrar em contato pelo nosso fórum. Qualquer dúvida, só chamar a gente! E não esqueça de criar a sua conta gratuita para testar as funcionalidades que estamos explorando em nossos conteúdos.