Jump to content

Webservice com chamadas periódicas


amiloM1425
 Share

Recommended Posts

Olá pessoal.

Tenho o seguinte problema,

tenho um webservice, que para além de desponibilizar métodos para a gestão de um sistema também terá que ter métodos autónomos que irão controlar automaticamente esses mesmos sistemas.

Ou seja tenho uma entrada A e uma entrada B, cada entrada tem uma determinada frequência de leitura, por exemplo de 5 em 5 segundos tenho que ler o A e de 20 em 20 o B .

Tenho andado a pensar como poderei implementar isto e não me ocorre nada de especial. Lembrei-me que poderia utilizar uma thread, mas não sei se será correcto fazê-lo.

Portanto o que vos pedia, era sugestões de como poderia pegar no meu problema para o resolver.

Desde já agradece-vos a vossa atenção

Cumps

Link to comment
Share on other sites

Podes usar timers para isso.

Por exemplo, agendas um timer, quando ele desperta invoca o webservice e reagenda a próxima execução.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Podes usar timers para isso.

Por exemplo, agendas um timer, quando ele desperta invoca o webservice e reagenda a próxima execução.

Essa solução seria para efectuar a chamada de métodos do WebService a partir de uma aplicação, certo?

O que eu pretendia era dentro do WebService chamar métodos do WebService sem que ninguém os invoque, ou seja, tenho o WebService a correr e de tempos a tempos invocava um determinado método por ele próprio.

Link to comment
Share on other sites

Continuas a ter que usar um timer.... nao?

O programa está a Correr... o Webservice.... a fazer tarefas de rotina...mas pode esta com timer e de X em X tempo fazer determinada acção... Não sei se o timer...tb deve correr numa outra thread...mas de qq modo.... o codigo que ele vai correr quando for invocado...definitivamente deveria correr noutra thread, de modo a não comprometer o que a !thread principal" está fazer como rotina.

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Link to comment
Share on other sites

Continuas a ter que usar um timer.... nao?

O programa está a Correr... o Webservice.... a fazer tarefas de rotina...mas pode esta com timer e de X em X tempo fazer determinada acção... Não sei se o timer...tb deve correr numa outra thread...mas de qq modo.... o codigo que ele vai correr quando for invocado...definitivamente deveria correr noutra thread, de modo a não comprometer o que a !thread principal" está fazer como rotina.

Hum, ok.

Julgave que o timer fosse apenas um componente para dispoltar eventos em aplicações, não em webservices.

Obrigado pela ajuda

Link to comment
Share on other sites

Realmente nunca usei um Webservice...se calher meti águas.... Para um local service...de certeza que funcionaria... mas sendo um processo que está a correr numa máquina...penso que esse recurso deve estar disponível...

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Link to comment
Share on other sites

Creio que há aqui alguma confusão.

Se tivermos um timer, ou uma thread, ele pode muito bem invocar um qualquer método de um qualquer webservice a cada x tempo.

Não é necessário poluir o webservice com timers, essa orquestração pode, e deve, ficar fora do webservice.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Creio que há aqui alguma confusão.

Se tivermos um timer, ou uma thread, ele pode muito bem invocar um qualquer método de um qualquer webservice a cada x tempo.

Não é necessário poluir o webservice com timers, essa orquestração pode, e deve, ficar fora do webservice.

Então, a ver se percebi.

O melhor será eu criar um processo externo ao webservice, no qual se iria encontrar o timer que por sua vez faria dispoltar chamadas de métodos do webservice. Resumidamente é isto, certo?

Link to comment
Share on other sites

Sim.

Pela descrição que fizeste do problema isso resolve-o.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.