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.
Então abra o BotCity Runner, pela interface do wizard ou dentro da pasta que você instalou o SDK da BotCity.
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.
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.
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.
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:
- 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:
OBS: Para ambas as situações acima, a tela de criação e definições será a mesma conforme orientações abaixo.
- 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”.
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”.
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”.
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.
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”.
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.
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”.
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”.
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.
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.