Histórico da Página
...
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#include 'protheus.ch' User Function /* * uso: * Para criar o servico chame: u_start_jobs ( uma vez so ) * Para conectar/rodar as execucoes chame: u_conn_jobs ( quantas vezes quiser usar o servico ) */ Static cSEMAFORO := "MYIPC" /* * Cria o ManualJob */ Function u_start_jobs() Local cEnv := GetEnvServer() ManualJobConOut("MYIPC", "TOP"Thread: " + cValToChar(ThreadId()) + " ManualJob: " + cSEMAFORO) ManualJob(cSEMAFORO, cEnv, "IPC", "u_RJobStart", "u_RJobConn", "u_RJobExit", "", 1000, 12, 155, 21, 31) Return .T. /* * Funcao que sera chamada na ativacao de cada thread do Job */ User Function u_RJobStart() ConOut("Thread iniciando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + conoutcValToChar(time()) + " RJobStart -> " + "MYIPC"cSEMAFORO) Return .T. /* * Funcao que sera chamada na uso */ User Function u_RJobConn(cVal) conoutConOut("Thread tratando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + cValToChar(time()) + " RJobConn -> " + cSEMAFORO + " Parametro: "MYIPC'" + cValToChar(cVal) + "'") Return .T. /* * Funcao que sera chamada na finalizacao de cada thread do Job */ User Function u_RJobExit() ConOut("Thread finalizando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + conoutcValToChar(time()) + " RJobExit -> " + cSEMAFORO) Return .T. /* * Executa "MYIPC") o ManualJob */ Function u_conn_jobs() Local cPar := "Thread chamando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + cValToChar(time()) Local lRet := .F. /* * Executa o ManualJob, podendo passar parametros */ ConOut("Estou passando o servico: '" + cPar + "'") lRet := IPCGo(cSEMAFORO, cPar) ConOut("Estou passou o servico: '" + cPar + "' " + " retorno: " + cValToChar(lRet) + IIf(lRet, " passado com sucesso", " nao conseguiu passar")) Return .T. |
Referências
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas