StartJob de alta demanda utiliza muitas Threads

Pessoal, tenho um WS que utiliza o StartJob() e tem muitas requisições, desta forma ele executa muitas Threads ao mesmo tempo e as vezes topa o limite de memória e automaticamente para. Tenho dois serviços como balanceamento em V.Ms diferentes.

Alguém sabe uma forma de eu controlar o uso de Threads de forma escalável? Quero ter um limite de threads em execução e quando atingir esse limite as requisições que chegarem ficam aguardando até liberar alguma Thread.

Em anexo o início do log quando começa acontecer o erro e desabilita as conexões.

Agradeço desde já.

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Helcio, realmente existe a necessidade de fazer um startjob no WS? Porque?

Também estou com esse mesmo problema, vou acompanhar!

Helcio,

Existe a função ManualJob, muito semelhante a StartJob, mas que permite melhor controle sobre a execução, como o controle do mínimo e máximo de threads, função de início, final etc:


ManualJob (<cJobName>,<cEnv>,<cJobType>,<cOnStart>,<cOnConnect>,<cOnExit>,<cSSKey>,<nInactive>,<nMin>,<nMax>,<nMinFree>,<nIncr>,<nWaitTime>)

Documentação: https://tdn.totvs.com/display/tec/ManualJob