Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | SIGAPCP |
Função: | WSPCP |
País: | Brasil |
Ticket: | 13083089 |
Requisito/Story/Issue (informe o requisito relacionado) : | DMANSMARTSQUAD1-23062 |
Ao processar requisições do WSPCP - Web Service, ocorre a abertura de múltiplas threads simultaneamente. O processamento das threads é realizado pela função ManualJob, que é executada a partir do WSPCP. Alguns parâmetros que definem o comportamento das threads estão sendo sugeridos pelo sistema, sem a opção de modificação do conteúdo, para melhor atender a realidade de cada cenário.
Foi adicionado o parâmetro MV_TWSPCP para armazenar quatro informações que serão utilizadas no momento do processamento do WSPCP, permitindo desta forma a parametrização do comportamento das threads de acordo com cada cenário.
As quatro informações que compõe o parâmetro são:
Tipo | Descrição | Default |
---|---|---|
Número | Tempo (em segundos) de inatividade das threads do Job | 10 |
Número | Número máximo de threads do Job | 10 |
Número | Número mínimo de threads livres do Job | 10 |
Número | Número de threads incrementadas/acrescidas no Job quando o minimo livre for atingido | 1 |
Exemplos corretos de preenchimento do parâmetro:
1) 20,10,2,3
2) 10,10,10,1
3) 500,15,2,5
Exemplos incorretos de preenchimento do parâmetro:
1) 20, 10, 2, 3
2) 20 10 2 3
3) "20","10","2","3"
4) "20,10,2,3"
Caso o parâmetro não exista ou não esteja informado, o processamento será efetuado com as informações default de acordo com o WSPCP (não será utilizado o default do ManualJob).
Caso seja preenchida uma das informações do parâmetro, as quatro informações devem ser preenchidas, na ordem indicada.
Exemplo de funcionamento
Ao preencher o parâmetro MV_TWSPCP com 20,10,2,3, o processamento terá o seguinte comportamento:
Descrição do parâmetro | Conteúdo | Comportamento do Job |
---|---|---|
Tempo (em segundos) de inatividade das threads | 20 | Todas as threads abertas por envio de requisições permanecerão abertas por 20 segundos inativos. Após processar uma requisição, a thread voltará para a situação livre e poderá ser reutilizada. Caso não ocorra acionamento de uma thread aberta por 20 segundos, esta será fechada. |
Número máximo de threads abertas simultaneamente | 10 | Serão abertas no máximo 10 threads simultaneamente. |
Número mínimo de threads livres (sem uso) | 2 | Serão abertas 2 threads para permanecerem livres. |
Número de threads acrescidas quando a quantidade livre for atingida | 3 | Para cada requisição, deverão estar abertas 3 threads. |
Ao enviar 3 requisições: