Histórico da Página
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 WSPCP - Web Service, ocorre a abertura de threads múltiplas simultneamente, ocasionando consumo de licenças, podendo resultar o consumo total, impedindo o acesso aos programas do SIGAPCPmú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. Estas informações são utilizadas dentro da função que permite a execução de jobs com múltiplas threads simultâneas. A documentação da função pode ser consultada em ManualJob., 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,510,102,13
2) 10,10,10,1
3) 10500,115,12,15
Exemplos incorretos de preenchimento do parâmetro:
1) 20, 510, 102, 13
2) 20 5 10 12 3
3) "20","510","102","13"
4) "20,510,102,13"
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â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:
- Ao enviar a requisição 01, serão abertas 3 threads (IDs 200, 205, 320). Como apenas a thread 200 será utilizada para atender a requisição 01, as threads 205 e 320 ficarão livres e atenderão a necessidade de manter no mínimo duas threads livres.
- Ao concluir o atendimento da requisição 01, em 5 segundos, a thread 200 ficará livre e a quantidade será novamente 3 threads livres.
- Ao enviar a requisição 02, como já existem 3 threads abertas e livres, não será necessário abrir novas threads, sendo utilizada apenas a thread 200 para atender.
- Antes de concluir o atendimento da requisição 02, é enviada a requisição 03. Como a thread 200 está sendo utilizada para atender a requisição 02 e devem haver pelo menos duas threads livres, uma das delas será utililizada para atender a requisição 03. Serão abertas outras threads para atender a quantidade mínima de threads livres. Não se aplica.
05. ASSUNTOS RELACIONADOS
- Não se aplica.
Templatedocumentos |
---|
...