01. DADOS GERAIS

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


02. SITUAÇÃO/REQUISITO

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. 

03. SOLUÇÃO

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:

TipoDescriçãoDefault
NúmeroTempo (em segundos) de inatividade das threads do Job10
NúmeroNúmero máximo de threads do Job10
NúmeroNúmero mínimo de threads livres do Job10
NúmeroNúmero de threads incrementadas/acrescidas no Job quando o minimo livre for atingido1


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.


04. DEMAIS INFORMAÇÕES

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âmetroConteúdoComportamento do Job
Tempo (em segundos) de inatividade das threads20

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 simultaneamente10

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 atingida3

Para cada requisição, deverão estar abertas 3 threads.



Ao enviar 3 requisições

05. ASSUNTOS RELACIONADOS