Ir para o conteúdo

Lab 2.5: Recebendo atributos da tarefa a ser executada

Automações podem ser parametrizadas para maior flexibilidade e código mais dinâmico.

Parâmetros são configurados na sessão Parâmetros da automação ao criá-la ou editá-la.

Para definir parâmetros precisamos de um Label e Tipo, onde o Label deve ser um identificador único e o Tipo deve definir o tipo de dado do parâmetro.

Você também pode definir se esse parâmetro terá um valor padrão e também se é um parâmetro obrigatório.

O Tipo define também a forma com que os parâmetros serão exibidos no Orquestrador BotCity Maestro na tela Novas Tarefas.

Veja mais aqui.

Adicionando parâmetro a automação

Através do menu Automações, encontre sua automação, clique no menu de opções e selecione Editar:

Parametros

Adicione um novo parâmetro com o nome canal, tipo TEXT, coloque o valor padrão como botcity_br e marque como obrigatório, conforme a imagem abaixo:

Parametros

Acessando os parâmetros no código

Agora que temos o parâmetro definido em nossa automação, o próximo passo é alterar o código para capturar os valores informados.

Para isso vamos utilizar o objeto execution e acessar a propriedade parameters que é um dicionário.

Vamos alterar a variável canais para armazenar o valor capturado através da passagem por parâmetro, ela será utilizada ao abrir o navegador, direcionando para os canais escolhidos.

Como padrão vamos adotar que o nome de cada canal será separado por vírgula, por exemplo:

`botcity_br,github,pythonbrasiloficial`

A alteração no código será conforme o trecho abaixo:

...
# Recuperando o parametro "canais"
canais = execution.parameters.get("canais")

# Transforma em uma lista separando por vírgula
canais = canais.split(",")

# Inicializa contadores
total_canais = len(canais)
canais_sucesso = 0
canais_falha = 0

# Abrindo o navegador com os canais
for canal in canais:
    try:
        logging.info(f"Iniciando coleta de dados do canal: {canal}")
        # Inicia o navegador na URL do canal
        bot.browse(f"https://www.youtube.com/@{canal}")
...

Atualizar um robô existente

Como parte do ciclo de desenvolvimento, é comum modificarmos o código de um robô.

Para fazer a atualização de um robô existente podemos criar uma nova versão ou sobrescrever o código existente através do Easy Deploy.

Passo 1. Escolher uma automação existente

Acesse o menu Easy Deploy selecione a opção Escolher uma automação existente, selecionar o repositório e a automação que deseja atualizar:

  • Repositório: DEFAULT
  • Automação: bot-youtube

Easy Deploy

Clique em Próximo.

Passo 2. Enviar o robô

Nesta etapa, podemos escolher a opção de criar uma nova versão ou sobrescrever a versão existente.

Preencha as informações necessárias e clique em Próximo:

  • Upload do robô: BotYoutube.zip | Arquivo gerado no processo de build
  • Versão do robô: x.x | Versão do robô que será atualizada ou sobrescrita
  • Fazer release desta versão: marque para que a nova versão seja executada pelo BotCity Runner

Importante

Lembre-se de executar a operação de build para garantir que o arquivo de seu robô está atualizado com as últimas modificações antes de fazer o upload.

Criar uma nova versão

Para criar uma nova versão coloque um valor diferente da existente:

  • Versão do robô: 1.1

Sobrescrever a versão existente

Para sobrescrever a versão anterior mantenha o mesmo valor existente:

  • Versão do robô: 1.0

Atenção

Sempre que sobrescrever uma versão, o código existente será substituído pelo novo código enviado e não é possível recuperá-lo.

Easy Deploy 2.1

Passo 3. Onde executar

Aqui podemos adicionar ou remover Runners que podem executar essa automação. Mas para manter a mesma configuração, clique em Próximo.

Easy Deploy 3.1

Atualização realizada com sucesso! 🏆

Podemos verificar todas as versões de um robô acessando o menu Robôs e pesquisando pelo seu ID:

Editar Robo

Dica

A versão marcada como Release será executada pelo BotCity Runner.

Você pode determinar uma versão como release através do menu Robôs, clicando nas opções e marcando como Release o robô e versão desejados:

Editar Robo

Após a execução, os detalhes da tarefa exibirão os dados informados na finalização da tarefa.

Finish Task

Importante

Caso nenhum parâmetro seja passado durante a execução da tarefa, o browser abrirá no canal padrão informado no Orquestrador: botcity_br.

Atualize seu robô

Lembre-se sempre que após modificar o código precisamos:

Criando tarefas com parâmetros

Usando o menu Nova Tarefa, busque a automação e clique no botão Nova Tarefa.

tarefa

Note que o parâmetro canais criado na etapa anterior foi dinâmicamente exibido para que operadores possam criar tarefas.

tarefa-param

Preencha com o valor a lista de canais e clique em Criar.

botcity_br,github,pythonbrasiloficial

Fila de Tarefas

Através dos cards das tarefas que estão na Fila de Tarefas, podemos verificar os parâmetros enviados acessando as Informações da tarefa.

task-card

Sua automação agora é capaz de obter informações de qualquer canal do YouTube.

Tente passar outros canais como parâmetro e veja o resultado.