Jobs en AppServer
StartJob(cName,cEnv,lWait,[parm1..parm25])Ejecuta rutina en thread separado con retorno controlado.
Descripción general
StartJob recibe función, ambiente y lWait: verdadero espera y devuelve resultado del worker; falso devuelve NIL sin confirmar procesamiento. Admite hasta 25 argumentos extra; objetos y bloques llegan como NIL. Ejemplo propuesto solo multiplica número y no requiere tablas. Modelo comunitario cubre RpcSetEnv, semáforos y logs, pero no reproducimos credenciales ilustrativas, grabaciones ni callbacks. (Fuentes: refs. 1–2.)
Sintaxis
StartJob(cName,cEnv,lWait,[parm1..parm25])Ejemplo comentado
#Include "Protheus.ch"
User Function Ed499()
Local uResult
// Worker puro: sin interfaz ni tabla.
uResult := StartJob("U_Ed499W",GetEnvServer(),.T.,3)
ConOut(cValToChar(uResult))
Return Nil
User Function Ed499W(nValue)
Return nValue * 2Con lWait verdadero, worker devuelve 6 para entrada 3. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- Preparar empresa/filial cuando worker requiera datos, liberar solo ambiente propio y definir concurrencia, cancelación e idempotencia.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.