Criando um serviço Windows Server 2008
Estou tentando criar um serviço com o Delphi para rodar no Windows Server 2008.
O objetivo do serviço é verificar algumas informações no banco de dados instalado neste servidor e enviar estas informações via WebService.
Eu tenho o sistema que faz isso criado e funcionando, no entanto ele precisa ser um serviço agora.
O que eu tentei até agora foi colocar minhas funções no OnExecute, ele chama, porém apenas uma vez.
Vi em algum lugar alguém falando pra por um looping, no entanto també não funcionou.
O que funcionou foi algo que não é correto. Dentro do OnExecute, eu chamo uma função, que possui um looping, então ele fica executando o que eu preciso, mas creio que isto é errado. Esta função só funcionou no windows XP.
Alguém tem alguma ideia de como criar um serviço com o delphi e que este serviço fique executando 24 horas?
O objetivo do serviço é verificar algumas informações no banco de dados instalado neste servidor e enviar estas informações via WebService.
Eu tenho o sistema que faz isso criado e funcionando, no entanto ele precisa ser um serviço agora.
O que eu tentei até agora foi colocar minhas funções no OnExecute, ele chama, porém apenas uma vez.
Vi em algum lugar alguém falando pra por um looping,
while not self.terminated
O que funcionou foi algo que não é correto. Dentro do OnExecute, eu chamo uma função, que possui um looping, então ele fica executando o que eu preciso, mas creio que isto é errado. Esta função só funcionou no windows XP.
Alguém tem alguma ideia de como criar um serviço com o delphi e que este serviço fique executando 24 horas?
Daniel Capeletti
Curtidas 0
Respostas
Romulo Contro
21/08/2012
Olá, tenta dar uma olhada nesse link:
http://www.marcosdellantonio.net/2007/06/28/delphi-rodando-um-executavel-como-um-servico-do-windows/
http://www.marcosdellantonio.net/2007/06/28/delphi-rodando-um-executavel-como-um-servico-do-windows/
GOSTEI 0
Daniel Capeletti
21/08/2012
Olá, tenta dar uma olhada nesse link:
http://www.marcosdellantonio.net/2007/06/28/delphi-rodando-um-executavel-como-um-servico-do-windows/
http://www.marcosdellantonio.net/2007/06/28/delphi-rodando-um-executavel-como-um-servico-do-windows/
Obrigado pela resposta, mas já vi esse tutorial enquanto pesquisava no Google. Mesmo assim ele executa meu procedimento apenas uma vez.
GOSTEI 0
Romulo Contro
21/08/2012
como é o esquema que vc faz?
tem um timer nele pra rodar de certo em certo tempo?
ou ele fica rodando direto?
tem um timer nele pra rodar de certo em certo tempo?
ou ele fica rodando direto?
GOSTEI 0
Daniel Capeletti
21/08/2012
Ele fica rodando direto, hoje eu coloco um sleep dentro de um while.
GOSTEI 0
Romulo Contro
21/08/2012
eu penso assim... se vc colocou no OnExecute, ele vai rodar 1 vez mesmo e depois nunca mais enquanto estiver iniciado... a não ser que vc fizer alguma gambiarra aí dentro pra ele ficar rodando toda hora... por exemplo:
i := 0;
while i < 1 do
begin
(timer se quiser)
funções......
end;
o que vc acha?
i := 0;
while i < 1 do
begin
(timer se quiser)
funções......
end;
o que vc acha?
GOSTEI 0
Daniel Capeletti
21/08/2012
Eu já faço isso, mas não queria que fosse assim, queria uma maneira mais correta.
GOSTEI 0
Romulo Contro
21/08/2012
entendi... eu nao vejo outra maneira mais prática... a não ser que vc der um jeito de implementar fora do onExecute... daí ele não vai ter motivo pra rodar somente 1 vez...
mas se é um serviço que vai fazer especificamente só isso, acho que nao é uma maneira errada fazer assim...
se achar outro jeito, posta aí que fiquei curioso agora também!
mas se é um serviço que vai fazer especificamente só isso, acho que nao é uma maneira errada fazer assim...
se achar outro jeito, posta aí que fiquei curioso agora também!
GOSTEI 0
Francisco Macário
21/08/2012
Ele fica rodando direto, hoje eu coloco um sleep dentro de um while.
Ola Daniel.
O correto será você colocar um temporizador, que pode ser parametrizado.
At.
GOSTEI 0