| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/07/2010 11:33:17
|
marciobarroso
Virtual Machine Man
![[Avatar]](/images/avatar/6828f61cee49c7a4da0f9c1d3e03b857.jpg)
Membro desde: 13/05/2005 23:17:13
Mensagens: 508
Localização: Barueri / SP / BR
Offline
|
Galera, deixando os flames de lado, tenho mais uma questão sobre esta implementação.
Meu robo atual roda utilizando Thread e algumas classes do pacote java.util.concurrent.*
Esta funcionando perfeitamente ...
Mas, em resumo, o funcionamento esta assim:
Isso significa que o meu processo fica rodando o tempo todo.
O uso que eu questionei do CronTab seria para melhorar a questão de processamento, pois ao invés de um loop infinito verificando qdo devo rodar, eu teria um agendamento que a cada tempo determinado, iniciaria o processo, criaria todas as threads, e assim que as threads morressem, o processo também seria morto, iniciando novamente somente quando a proxima execução do crontab fosse iniciada.
Mostrando em uma time-line:
Espero que entendam o que eu estou tentando explicar.
Para um processo onde eu quero que determinado codigo de negócio seja executado a cada 1 hora, na abordagem atual, meu programa fica em loop infinito e através de uma condicional, verifico o intervalo de 60 minutos para iniciar o código de negócio.
O ideal para este processo seria que a cada 60 min, o código de negócio fosse executado.
Sei que não existe mágica e que para que algo seja executado em determinado tempo, algum processo precisa ficar verificando esse time de execução ... prá isso existe os agendadores como o CronTab, mas como disse no primeiro post, vou ter que contratar uma hospedagem dedicada prá fazer isso e isso esta no momento fora de cogitação.
Existe uma forma de fazer isso sem o uso do crontab!?! Vi alguns artigos sobre alguns sites que fazem o armazenamento de jobs como o terracota, mas não entendi ao certo como funciona.
Abraço,
This message was edited 1 time. Last update was at 20/07/2010 11:35:53
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2010 09:47:15
|
deniswsrosa
GUJ Ranger
![[Avatar]](/images/avatar/28a7602724ba16600d5ccc644c19bf18.jpg)
Membro desde: 21/07/2005 08:51:27
Mensagens: 807
Offline
|
Não entendi sua pergunta, isso já não havia sido respondido nos posts anteriores?
|
SCJP, SCEA I
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2010 18:25:18
|
marciobarroso
Virtual Machine Man
![[Avatar]](/images/avatar/6828f61cee49c7a4da0f9c1d3e03b857.jpg)
Membro desde: 13/05/2005 23:17:13
Mensagens: 508
Localização: Barueri / SP / BR
Offline
|
Na verdade eu não quero um processo 100% do tempo rodando ... quero que ele rode somente em um horario determinado ...
Não quero uma thread rodando e a cada tempo determinado disparando algum processo ...
Ví que no fundo o Quartz faz a mesma coisa ...
Sei que o ideal para mim seria um agendador de tarefas que no horario que eu especificar ele chamaria meu jar e executaria meu processo, mas o ponto seria justamente descobrir se existe algo que possa substituir o uso deste agendador de tarefas sem honerar a VM, ou seja, o processo só rodaria na hora que ele precisa rodar mesmo.
Espero que tenham entendido minha questão.
abraço
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2010 18:46:19
|
balrog
JavaEvangelist
Membro desde: 25/05/2003 16:42:17
Mensagens: 381
Localização: London
Offline
|
Na verdade eu não quero um processo 100% do tempo rodando ...
vc ta precisando estudar threads
honerar a VM
threads sao por definicao lightweight
Espero que tenham entendido minha questão.
nao faz sentido nenhum o que vc esta tentando atingir
Ví que no fundo o Quartz faz a mesma coisa ...
o quartz faz a mesma coisa por que eh o unico jeito de fazer, nao porque eles querem usar um monte de CPU, o quartz eh um framework estabelecido no mercado a anos, todo mundo usa, e simplesmente nao entendo porque nego fica procurando cabelo em ovo tentando reinventar a roda
|
balrog
SCJA, SCJP, SCWCD, SCBCD, SCDJWS, SCEA
http://www.flickr.com/photos/planetadventure/sets/
Twitter @planetadventure |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/07/2010 10:09:18
|
marciobarroso
Virtual Machine Man
![[Avatar]](/images/avatar/6828f61cee49c7a4da0f9c1d3e03b857.jpg)
Membro desde: 13/05/2005 23:17:13
Mensagens: 508
Localização: Barueri / SP / BR
Offline
|
balrog wrote:
Na verdade eu não quero um processo 100% do tempo rodando ...
vc ta precisando estudar threads
honerar a VM
threads sao por definicao lightweight
Espero que tenham entendido minha questão.
nao faz sentido nenhum o que vc esta tentando atingir
Ví que no fundo o Quartz faz a mesma coisa ...
o quartz faz a mesma coisa por que eh o unico jeito de fazer, nao porque eles querem usar um monte de CPU, o quartz eh um framework estabelecido no mercado a anos, todo mundo usa, e simplesmente nao entendo porque nego fica procurando cabelo em ovo tentando reinventar a roda
Amigo,
Acho que você poderia ter tentando entender melhor a questão ao invés de ficar supondo que eu precise aprender mais isso ou aquilo.
Colegas, o fórum não é o lugar prá extravasar o stress ... se estiver nestas condições, por favor, não responda nenhum post.
Quando eu citei que preciso de um processo offline é porque minha hospedagem restringe processos processos rodando que não estão no crontab. Só posso usar processos online na hospedagem dedicada e através do crontab.
Eu simplesmente questionei esta possibilidade com o Quartz por o conhecer a pouco tempo ... bastava apenas dizer:
- Não... não é possivel.
ou
- Sim ... é possivel.
Se cada um vir aqui no fórum e começar a responder posts com sua opinião pessoal sobre o conhecimento de quem esta postando, eu serei o primeiro a vir aqui e mandar você para aquele lugar cheio de pregas ...
|
|
|
 |
|
|
|
|