Orquestração

Orquestração RPA: Como criar e executar tarefas da sua automação no BotCity Orquestrador

Chegamos ao nosso terceiro artigo da série Orquestração RPA e, dessa vez, vamos conversar sobre como executar tarefas da nossa automação no BotCity Orquestrador com apoio do BotCity Runner. Nesta etapa, o deploy da automação já foi feito. Se você ainda não conhece como funciona esse processo, confira o artigo que trouxemos passo a passo de como fazer.

Apenas lembrando, se você estiver seguindo a série conosco, estamos usando de modelo este projeto desenvolvido em Selenium. O código deste robô faz acesso a um site de teste de login. Você pode ter acesso ao projeto completo acessando nosso repositório no GitHub.

Configurando o BotCity Runner para execução das automações

A execução das suas tarefas vão acontecer com o apoio da ferramenta BotCity Runner. Inclusive, te convido a explorar um pouco mais sobre ela neste artigo com um guia sobre como gerenciá-la.

Enquanto estamos na etapa final de deploy da nossa automação no BotCity Orquestrador, é solicitada a informação de qual runner vamos utilizar para executar as tarefas.

Tela Easy Deploy na terceira etapa com os campos para configurar um runner já existente ou criar um novo

Então abra o BotCity Runner, pela interface do wizard ou dentro da pasta que você instalou o SDK da BotCity.

Tela do BotCity Runner com o logo da BotCity do lado esquerdo e o botão start no meio.

Você pode verificar se a configuração está correta validando as informações no Orquestrador e consultando em um arquivo dentro da pasta em que você instalou o SDK da BotCity. No menu da lateral esquerda, identifique a categoria “Developer” e, dentro dela, a opção “Dev Environment”. A tela que se abre ao clicar nessa opção, terá as informações necessárias para confirmação. Na parte superior, identifique os seguintes dados:

  • Workspace;
  • Login;
  • Key.

Tela de dev environment apontando para os dados workspace, login e key.

Na pasta onde você instalou o SDK da BotCity, haverá uma pasta chamada “conf”. E dentro dela, haverá um arquivo chamado “conf.bcf”. Você pode abrir esse arquivo clicando em cima dele com o botão direito do mouse, logo após clicando na opção “abrir como” e escolher o bloco de notas ou algum outro editor de texto para facilitar a visualização.

arquivo conf aberto em bloco de notas

Neste arquivo conf.bcf você terá algumas informações. Algumas delas são exatamente as que você identificou no Orquestrador, dentro da tela Dev Environment. Confira se os dados login, workspace e key estão iguais em ambos. Caso não esteja, basta atualizar o arquivo e salvar as alterações. Um outro campo importante é o “machineId”. Nele terá o nome do runner que você criou. No caso do nosso exemplo, criamos um runner chamado “vm-new-runner”. Mas você pode nomeá-lo como preferir.

Para entender mais detalhes deste arquivo e destas configurações, consulte nossa documentação mostrando a configuração do runner. E mantenha o BotCity Runner aberto para as próximas etapas, clicando no botão “Start”. A partir desse momento, o runner já estará disponível e aguardando tarefas.

Tela do BotCity Runner com o status aguardando novas tarefas

Criando tarefas da sua automação

Tudo certo. Agora precisamos criar nossas tarefas. Existem algumas formas de criar tarefas relacionadas à sua automação. Para fazer este processo utilizando diretamente a interface gráfica do orquestrador, você pode escolher uma das duas formas abaixo.

  • Exatamente após o momento de deploy, haverá a opção de criar tarefa:

Tela Easy Deploys no fim, quando o deploy já aconteceu com sucesso e com o botão de fechar e o botão de nova tarefa.

  • Ao clicar em “New Task” no menu da lateral esquerda e escolhendo a automação da qual a tarefa será criada e, em seguida, clicando no botão “New Task” do lado direito:

Tela de nova tarefa com o filtro feito com o nome de automação bot-selenium

OBS: Para ambas as situações acima, a tela de criação e definições será a mesma conforme orientações abaixo.

Tela de configuração da criação da nova tarefa

  • Test Task: campo opcional. Selecione caso você queira criar uma tarefa de teste. Isso significa que você poderá reiniciá-la quantas vezes for necessário;
  • Minimum run date: campo opcional. Você só precisa preencher este campo caso queira definir uma data e hora mínimas para a tarefa ser executada;
  • Priority: campo obrigatório. Você deve definir uma prioridade para essa tarefa ser executada, caso haja uma fila de outras tarefas. Essa prioridade é de 0 a 10. Quanto maior o número, maior a prioridade;
  • Params: campo opcional. Você só precisa preencher se houverem parâmetros para sua tarefa.

Outra maneira de criar tarefas para a sua automação ser executada é utilizando a API do BotCity Orquestrador. Para fazer isso no seu código, a primeira coisa é importar a biblioteca:

from botcity.maestro import *

A chamada para que a tarefa seja criada, deve ser adicionada dentro da sua função e será da seguinte forma:

task = maestro.create_task(
    activity_label="coloque_a_label_da_automação_aqui",
    parameters=params,
    test=False
)

Você pode ver mais exemplos em outras linguagens de programação e também mais orientações sobre como utilizar a API em nossa documentação.

Saiba que logo que sua tarefa for criada, independente da forma utilizada para isso, ela será disponibilizada na fila de tarefas. Essa tela está localizada no menu da lateral esquerda, dentro da categoria “Control Room”.

Tela de fila de tarefas

Vamos criar a tarefa pela interface gráfica do Orquestrador. Então clique em “New Task” no menu da lateral esquerda. Em seguida, para facilitar, filtre pelo nome da automação e, ao ser encontrada, identifique o botão que ela possui também chamada “New Task”.

Tela de nova tarefa apontando para o menu e o botão new task como na explicação

Como essa criação será apenas de teste, vamos configurar a flag “Test Task” como ativada. Assim, conseguiremos executá-la mais de uma vez. E, em seguida, clicar em “Create”.

Tela de criação de tarefa mostrando a flag test task em destaque

Após clicar em “Create”, a tela será direcionada para a “Task Queue”, ou seja, a fila de tarefas. E o status será “in queue”, que significa que a tarefa está na fila para ser executada.

Tela da fila de tarefas com uma seta apontando para o estado in queue

No momento em que o runner identificar a tarefa pronta para ser executada, altera o status para “executing task”. Perceba que ele também identificou qual é a automação “bot-selenium”.

Tela do BotCity Runner mostrando que a tarefa está em execução

A primeira execução de uma automação será um pouco mais lenta devido à necessidade de criação do ambiente virtual e instalação de todas as dependências pelo runner. Mas não se preocupe, as execuções seguintes serão praticamente imediatas dado que o ambiente virtual já existe e apenas as dependências serão atualizadas, quando houver necessidade.

Conforme os segundos forem passando, você poderá acompanhar a alteração de status da tarefa para “running”. Isso significa que a tarefa está sendo executada.

Print da tela da fila de tarefas e com o runner junto mostrando que está em execução

Após isso, a tarefa ficou como “failed”. Isso quer dizer que ela terminou a execução e falhou. E, novamente, o runner está com o status “waiting new tasks”.

Print da tela da fila de tarefas e com o runner junto mostrando que está a tarefa está com status failed e o runner aguardando tarefa

Entendendo a falha da tarefa

Para analisar o que aconteceu com a tarefa, você pode clicar no ícone de três pontos da tarefa e, em seguida, selecionar a opção “info”.

print do card da tarefa mostrando o menu aberto com as opções info e restart

Ao clicar em “info”, a tela é direcionada para o detalhamento da tarefa. No campo “Finish Message” pode conter a mensagem de erro do que aconteceu. Neste caso, está nos alertando que a tarefa finalizou, contudo não foi reportado o estado.

Tela de detalhes da tarefa

Para isso, você pode finalizar a tarefa, dando um status de finalizada, caso tenha ocorrido com sucesso. Um exemplo de como fazer isso, seria o código abaixo. Mas você pode ver mais detalhes em nossa documentação.

    maestro.finish_task(
        task_id=execution.task_id,
        status=finish_status,
        message=finish_message
    )

Além disso, vamos também explorar os estados das tarefas em nosso próximo artigo dessa série sobre Orquestração RPA. Combinado?

Dúvidas ou sugestões?

Fique à vontade para participar da nossa comunidade global no Slack ou ainda entrar em contato pelo nosso fórum. Qualquer dúvida, só chamar a gente! E não esquece de criar a sua conta gratuita para testar as funcionalidades que estamos explorando em nossos conteúdos.

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