Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

...

Produto:

 Microsiga Protheus

Versões:

 A partir da versão 12.1.17

Ocorrência:

Tratamento para erro decorrente de grandes volumes de processamentos (estouro do #TempDB) utilizando multiplas threads nos registros de movimentação bancária.

Utilizado na rotina de Contabilização off-line CTBAFIN.

Ambiente:

Define o número máximo de registros a distribuir pelas threads.

Valor padrão: 0 (zero) - Isto significa que o sistema distribuirá o processamento pelas threads sem limitação.

Observação:

Exemplo de utilização:

  • Suponha que um determinado período possua 45.000 registros de movimentação (Baixas a pagar e a receber) para serem contabilizados;
  • Suponha também que o parâmetro MV_CFINTHR esteja configurado para utilização de 3 threads.

Desta forma o sistema ativaria 3 threads processando cada uma 1/3 dos 4245.000 registros:

  • Thread 1 : 15.000 registros;
  • Thread 2 : 15.000 registros;
  • Thread 3 : 15.000 registros.

Imagine que ocorra um erro devido ao volume de registros por Thread. Para isso podemos utilizar o novo parâmetro para limitar esta quantidade pelas threads.

Vamos configurar MV_CTBNMRB com o valor de 21.000 registros. Nesta configuração o processamento será enviado para as threads em blocos limitados pelo valor configurado no parâmetro, conforme segue:

Primeiro Processo - 21.000 registros divididos entre as 3 threads. O sistema mantém o Saldo de 24.000 registros para um novo processamento automaticamente.

  • Thread 1 : 7.000 registros;
  • Thread 2 : 7.000 registros;
  • Thread 3 : 7.000 registros.

Segundo Processo - 21.000 registros divididos entre as 3 threads. O sistema mantém o Saldo de 3.000 registros para um novo processamento automaticamente.

  • Thread 1 : 7.000 registros;
  • Thread 2 : 7.000 registros;
  • Thread 3 : 7.000 registros.

Terceiro e último Processo - 3.000 registros divididos entre as threads. Neste caso a contabilização será encerrada pois não haverá saldo pendente.

  • Thread 1 : 1.000 registros;
  • Thread 2 : 1.000 registros;
  • Thread 3 : 1.000 registros.

...