Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagecpp
firstline1
titleExemplo 1
linenumberstrue
user function testSmartJob()
  local lRet := .F. as logical
  
  lRet := SmartJob("u_inijob",getEnvServer(),.F.,"Data Atual " + cValToChar(date()))
  if (lRet == .F.)
    return -1
  endif  
return 0
  
user function inijob(cTxt)
  conout(cTxt)
return .T.

Notas Importantes

  • A fila de SmartJobs não emprega prioridades, ou seja, é um autêntico FIFO (Firt in - First Out);
  • Quando inserido na fila, um SmartJob permanece nela até ganhar a oportunidade de ser executado;
  • Internamente, quando a fila cresce muito ou está com baixa vazão, o motor de execução pode criar algumas threads a mais do que a configuração máxima, a fim de suprir a demanda;
  • No momento em que a execução de SmartJobs retorna à condições propícias e tendo o motor criado threads extras, ele mesmo se encarrega de voltar aos valores originais de configuração;
  • Estando a fila de jobs vazia, para economizar recursos, o motor de execução pode ficar sem threads ativas (stand by), só as reativando se houver demanda.


Abrangência
TOTVS Application Server 17.3.0 ou superior