Ir para o conteúdo

Configurar Lotes

O processamento em lote, ou lote, é o processamento de transações em um grupo ou lote. No Vinyl, o processamento em lote é um recurso opcional que pode ser usado ao processar conjuntos muito grandes de dados por meio de regras CRUD na camada de negócios. Um dos benefícios de usar lote é que ele pode evitar conflitos liberando a conexão com a Tabela/Banco de Dados tanto na origem quanto no destino.

Por padrão, o lote não está habilitado no Vinyl e deve ser configurado manualmente.

Diretrizes Gerais para Lotes:

  • O valor do tamanho do lote de origem deve ser inferior a 32.000
  • Se os dados estiverem mudando sob você (ou seja, centenas de pessoas estão adicionando/removendo registros enquanto seu lote está em execução), a ação CRUD deve usar CRAM em vez de Inserir

Para Habilitar Lotes em uma Regra CRUD

  1. Navegue até a Regra CRUD na camada de negócios
  2. Clique em Mais > Caso extremo
  3. Insira um valor numérico em Tamanho do lote de origem. Este valor representa o número de registros a serem incluídos em um único lote. Por exemplo: 1000
  4. Selecione a configuração Modo em lote apropriada:

    • Ciclo pelas linhas deve ser selecionado quando o conjunto de resultados não for alterado após a execução da regra CRUD.
      • Por exemplo: você deseja atualizar uma coluna A de cada linha que tem uma coluna B = 3, essa fonte não mudará completamente (executar os resultados antes e depois produzirá os mesmos resultados), para que você possa percorrer as linhas.
    • Consumir linhas deve ser selecionado quando o conjunto de resultados muda após a execução da regra CRUD.
      • Por exemplo: você deseja atualizar todas as linhas com a Coluna B = 3 para ter um valor de 2 na mesma linha, isso significa que após a execução do primeiro lote o conjunto de resultados mudará, então você tem para consumir linhas.

Nota

Se você selecionar Consumir linhas como a configuração do modo Lote, o Vinyl também exibirá um campo Limite de Lote que você pode definir. O Limite de lote aqui representa o maior número de lotes que seriam lidos antes de parar. Essa configuração evita essencialmente um loop infinito. Por exemplo: se você esperava que sua regra modificasse 100.000 linhas de dados e tiver o Tamanho do lote de origem definido como 5.000, você pode definir o Limite do lote como 30 para que o número máximo de linhas que consumiria seja 150.000.