Histórico da Página
...
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
/* * uso: * Para criar o servico chame: u_start_jobsstartIPC ( uma vez so ) * Para conectar/rodar as execucoes chame: u_conn_jobsconnIPC ( quantas vezes quiser usar o servico ) */ Static cSEMAFORO := "MYIPC" /* * Cria o ManualJob */ Function u_start_jobsstartIPC() Local cEnv := GetEnvServer() ConOut("Thread: " + cValToChar(ThreadId()) + " ManualJob: " + cSEMAFORO) ManualJob(cSEMAFORO, cEnv, "IPC", "u_RJobStart", "u_RJobConn", "u_RJobExit", "", 1000, 2, 5, 1, 1) Return .T. /* * Funcao que sera chamada na ativacao de cada thread do Job */ Function u_RJobStart() ConOut("Thread iniciando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + cValToChar(time()) + " " RJobStart+ ProcName() + " -> " + cSEMAFORO) Return .T. /* * Funcao que sera chamada naa cada uso */ Function u_RJobConn(cVal) ConOut("Thread tratando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + cValToChar(time()) + " RJobConn " + ProcName() + " -> " + cSEMAFORO + " Parametro: '" + cValToChar(cVal) + "'") Return .T. /* * Funcao que sera chamada na finalizacao de cada thread do Job */ Function u_RJobExit() ConOut("Thread finalizando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + cValToChar(time()) + " RJobExit " + ProcName() + " -> " + cSEMAFORO) Return .T. /* * Executa o ManualJob * Obs. IPCGo - pode ser invodado de qualquer programa, desde que passe o mesmo nome de semaforo (cSEMAFORO)("MYIPC") */ Function u_conn_jobsconnIPC() 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. |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
/* * uso: * Para criar o servico chame: u_start_oc ( sera executado somente a funcao de "connect" uma vez para cada thread minima na ativacao ) */ Static cRunOnce := "RunOnceJob" /* * Cria o ManualJob */ Function u_start_oc() Local cEnv := GetEnvServer() ConOut("Thread: " + cValToChar(ThreadId()) + " ManualJob: " + cRunOnce) ManualJob(cRunOnce, cEnv, "", "", "u_ConnOne", "", "", 1000, 3, 5, 1, 1) Return .T. /* * Funcao que sera chamada uma vez */ Function u_ConnOne() ConOut("Thread executando: " + cValToChar(ThreadId()) + " Data atual " + cValToChar(date()) + " " + cValToChar(time()) + " " + ProcName() + " -> " + cRunOnce) Return .T. |
Referências
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas