Ir para o conteúdo

Lab 4: Funcionalidade Datapool

O Datapool é uma funcionalidade da BotCity que permite o processamento de um conjunto de itens em larga escala. Com ele conseguimos ter controle e granularidade sobre os itens, acompanhando seu progresso, status, tempo de execução por item, etc.

O Datapool pode ser configurado com política de consumo, número tentativas de reprocessamento um item que falhou, parar o consumo da fila em caso de muitas falhas consecutivas e gatilhos para criar tarefas automaticamente.

Com o Datapool, abrimos a possibilidade aumentar a eficiência e reduzir o tempo de espera desses itens em fila paralelizando execuções. Ou seja, os itens de uma única fila podem ser distribuídos entre várias tarefas da mesma automação.

Funcionalidade Datapool

Criar um Datapool

Para esse projeto, crie um Datapool navegando no menu lateral do Orquestrador BotCity Maestro até Datapool, clique em + Novo Datapool e preencha os campos do formulário:

  • Label: O identificador único que será utilizado para acessar o Datapool.
  • Repositório: O repositório onde o Datapool será armazenado.
  • + Adicionar: O schema do Datapool.
    • Label: O identificador único para a coluna.
    • Tipo: O tipo de dado que a coluna armazenará.

Para esse workshop adicione 5 colunas no schema, todas com o tipo TEXT:

  • full_name
  • vacancy
  • email
  • contact_number
  • keywords

O formulário ficará semelhante a essa imagem:

Schema do Datapool

Nota

Para entender cada um dos campos, veja a documentação do Datapool.

Com tudo preenchido, clique em Criar.

Após, encontre-o na lista de Datapools e clique para verificar os detalhes. A tela será semelhante a essa:

Detalhes do Datapool

Adicionar itens ao Datapool

Você pode adicionar itens ao Datapool de diversas formas, sendo as mais comuns:

Adicionar manualmente

Para adicionar manualmente, clique em + Adicionar entrada.

O primeiro campo será a prioridade do item, que pode ser um número de 0 a 10. Quanto maior o número, maior a prioridade do item.

Preencha os cinco campos definidos no schema com os valores que você deseja que sejam processados no cadastro.

Você também pode adicionar mais campos para um item unico clicando em + Adicionar, caso necessite de informações opcionais para esse item.

Exemplo:

Adicionar item manualmente

Com tudo preenchido, clique em Criar, o item ficará semelhante a essa imagem:

Um item individual

Nota

Adicionar itens dessa forma é útil para testes ou quando você precisa adicionar itens pontuais. No entanto, não é a forma mais eficiente para adicionar muitos itens de uma só vez, podendo ser demorado e propenso a erros de digitação.

Adicionar em lote

Uma forma mais eficiente de adicionar itens através um arquivo .csv.

Para adicionar itens dessa forma, clique em Importar CSV e arraste o arquivo ou clique para selecionar e navegue até ele.

Adicionar por CSV

Desta forma, a primeira linha do .csv é o cabeçalho que define as colunas e as demais linhas se tornam os itens.

Nota

O arquivo .csv deve seguir o padrão do schema do Datapool, ou seja, as colunas devem ter os mesmos nomes e tipos definidos. O arquivo utilizado neste exemplo está disponível para download clicando nesse link.

Clique no botão Upload para adicionar os itens ao Datapool.

Note que os itens adicionados possuem o status PENDENTE, isso significa que estão aguardando processamento.

Vários itens

Nota

Para entender mais sobre os status durante o processo, veja a documentação do Datapool.

Integração no código

Com os itens prontos para serem processados, verifique o label do Datapool no código da automação, ele deve ser o mesmo que você acabou de criar.

Procure pelo método get_datapool e verifique se o label está correto. O código deve ser semelhante a este:

# Definir o datapool
datapool = maestro.get_datapool(label="candidatos_orange")