Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Ao processar requisições do WSPCP- Web Service, ocorre a abertura de múltiplas threads simultaneamente. Algumas informações que orientam O processamento das threads é realizado pela função ManualJob, que é executada a partir do WSPCP. Alguns parâmetros que definem  quantidade de podendo resultar o consumo total, impedindo o acesso aos programas do SIGAPCPdefinem 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 ManualJob, que é executada a partir 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:

...

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 e executar o envio de três requisições, o processamento , o processamento terá o seguinte comportamento:
    • Todas as threads abertas por acionamento das envio de requisições , permanecerão abertas por 20 segundos inativos. Após processar uma requisição, a threads thread voltará para a situação livre e poderá ser reutilizada. Caso não ocorra acionamento de um uma thread aberta e inativa por 20 segundos, esta será fechada.
    • Serão abertas no máximo 10 threads simultaneamente
    • Serão abertas 2 threads para permanecerem livres.
    • Para cada requisição, deverão estar abertas 3 threads.
  • Ou seja, 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 novamente haverão 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 novamente utilizada apenas a thread 200 para atender.  A escolha do servidor sobre a thread para ser utilizada não será necessariamente em ordem numérica, será aleatória.
    • 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, as threads 205 e 320 não serão utilizadas para atender a requisição 03, então permanecerão livres.
    • Para atender a requisição 03, será aberta uma thread (ID 400)


05. ASSUNTOS RELACIONADOS

...