Usina BRAdvPL Guia
Entrar
← Todos os tópicos
GUIA PRÁTICOEm revisão

Jobs no AppServer

StartJob(cName,cEnv,lWait,[parm1..parm25])

Executa uma rotina em thread separada, com retorno controlado.

Jobs no AppServerAdvPL
01 · VISÃO GERAL

Visão geral

StartJob recebe função, ambiente e lWait: verdadeiro aguarda e devolve o retorno do worker; falso retorna NIL sem confirmar o resultado do processamento. Até 25 argumentos adicionais são permitidos; objetos e blocos chegam como NIL ao destino. O exemplo executável proposto só multiplica um número e não requer tabelas. O modelo comunitário consultado aborda RpcSetEnv, semáforos e logs, mas suas credenciais ilustrativas, gravações e callbacks não são reproduzidos. (Fontes: refs. 1–2.)

02 · SINTAXE

Sintaxe

StartJob(cName,cEnv,lWait,[parm1..parm25])
03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed499()
    Local uResult
    // Worker puro: nenhuma interface ou tabela.
    uResult := StartJob("U_Ed499W",GetEnvServer(),.T.,3)
    ConOut(cValToChar(uResult))
Return Nil

User Function Ed499W(nValue)
Return nValue * 2
Resultado esperado

Com lWait verdadeiro, o worker devolve 6 para entrada 3. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Preparar empresa/filial quando o worker precisar de dados, liberar apenas o ambiente que ele abriu e definir concorrência, cancelamento e idempotência.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. StartJob. TDN. Consulta em 2026-10-27.
  2. thalysjuvenal/advpl-specialist. patterns-jobs.md; commit d80599b. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha