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
Situação: Abertura de threads simultâneas consumindo licença.
Requisito: Ser possível informar a quantidade de threads a serem usadasAo 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 TOTVS MES. Essas 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 ManualJobWSPCP, 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 Exemplos de preenchimento do parâmetro:
1) 600 20, 10, 12, 3, 12) 1800, 1, 1, 1
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â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 |
---|
...