Agendador de tarefas [RESOLVIDO]

1. Agendador de tarefas [RESOLVIDO]

Glenio Montovani
montovani

(usa Ubuntu)

Enviado em 06/05/2011 - 08:55h

Ola galera, bom dia.

Pessoal mais uma vez eu estou aqui precisado da dica de vocês. Bem estou precisando saber como faço para criar um agendador de tarefas em C++, em Java tenho o TimeTask que faz isto. A pergunta é: Existe algo parecido com isto em C++ estou precisando execultar uma tarefa de tempos em tempos em C++ e não estou encontrando nada sobre.


Desde já agradeço a ajudas e atenções de todos.


  


2. Re: Agendador de tarefas [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 06/05/2011 - 11:04h

Ola!

Precisei fazer isso no trabalho há um tempo atrás e implementei o meu próprio. Não foi dificil, diga-se de passagem.

O que fiz foi ordenar um vetor de tarefas agendadas. Ordenei do menor deadline até o maior, e dava um sleep no deadline da primeira tarefa da fila. Após executar ela, atualizo os deadlines, reordeno a fila e novo sleep. Coloca isso em um loop infinito e tem um agendador :)

Por exemplo:
Tarefa 1: executar daqui a 30 segundos
Tarefa 2: executar daqui a 15 segundos
Tarefa 3: executar daqui a 5 minutos

Ordenando o array:
[0] = Tarefa 2
[1] = Tarefa 1
[2] = Tarefa 3

O sleep sera o do deadline da tarefa que ocupa a posicao zero. Ou seja, 15 segundos.

Espero ter ajudado!


3. Re: Agendador de tarefas [RESOLVIDO]

Glenio Montovani
montovani

(usa Ubuntu)

Enviado em 06/05/2011 - 14:36h

Hebang valei pela dica, mas estou procurando um API que faça isto, porque nao sou programador C++ estou so quebrando um galho, entao estou tentado fazer o maximo para nao arrumar metodos muitos complicados porque senao vou ter que enteder primeiro a linguagem.. pra depois resolver meu problema, e como diz o outro o problema nao espera. Desculpe, nao e moleza e que realmente eu estou num mato sem cachorro. Nao entendo a linguagem e tenho que fazer o negocios.


Eu encontrei alguma coisa sobre uma API Task Scheduler que e a mesma que ja fiz muito em java, mas nao entendi o seu funcionamento ainda. Se alguem puder me da um dica de algum material bacana que me explique so chamar um metodo ou uma classe para ser execultado de tempos em tempos seria bacana.


Abraços a todos e desculpe a falta de conhecimento ai na Linguagem.


4. Re: Agendador de tarefas [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 06/05/2011 - 14:40h

Voce está usando Linux?

Desculpe se estou sendo meio óbvio, mas não sei seu nível de conhecimento em Linux. Já pensou em usar o crontab?

Nele você pode agendar tarefas com precisão de minutos.

Há também o comando "at", que executa um comando em um horário específico.

Espero ter ajudado!


5. Re: Agendador de tarefas [RESOLVIDO]

Glenio Montovani
montovani

(usa Ubuntu)

Enviado em 06/05/2011 - 14:50h

Hebang mais uma vez quero lhe agradecer pela atençao.


Assim Hebang ... nao esquenta nao cara em C++ nao sou realmente ninguem... nao entendo nada. Agora linux eu entendo um tiquim.. so que quanto ao crontab cara pensei nisto logo de cara o meu problema e que to usando o mini2440... que e uma versao linux usado para placa de microcontroladores... e uma versao bem enchuta sabe.. e nao tem o crontab velho.. o trem e canseira ... tentei instala-lo, mas nao deu certo.


Eh brother ... e igual estou ti falando... o pepino caiu no meu colo tipo... resolve e eu nao sou familiarizado com o C++... e o ambiente tbm nao ajuda.

Mas... mais um vez obrigado pela atençao.


6. Re: Agendador de tarefas [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 06/05/2011 - 15:06h

Montovani:

Assim, API que faça isso não conheço. E se existir, acredito que seria uma perda de desempenho, por se tratar de um sistema embarcado.

Agora não tenho como fazer, porque estou trabalhando, mas de noite posso fazer um agendador pra ti em C puro mesmo, que fica mais leve e rápido.

Só me passa certinho o que deve ser executado por esse agendador que te faço essa mão de boa. Pode parecer complicado pra ti, que não tá familiarizado com a linguagem, mas pra mim que já tenho experiência é barbada :)

Abraço!


7. Re: Agendador de tarefas [RESOLVIDO]

Glenio Montovani
montovani

(usa Ubuntu)

Enviado em 06/05/2011 - 16:09h

Hebang valeu de mais cara... cara tu és um cara gente fina(Sem viadagem e claro...rsrsrs), mas brother já resolvi... nada que o oraculo(google) e um pouco de paciencia nao resolva. Encontrei um agendador que faz o que estava querendo neste site: http://www.gidforums.com/t-16343.html. Ai só coloquei o codigo que precisava dentro dele e vou agora mandar para o mini2440... meu medo e que uso um lib ai ... ai pode ser que de algum boro la.. mas com fé em Deus vai da certo.


Mas Hebang valeu mesmo pela força.

Falou inte.


8. Re: Agendador de tarefas [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 06/05/2011 - 18:36h

Bom, o que voce usou não foi uma API, e sim um trecho de código. Seria a mesma coisa que ia fazer se não encontrasse solução. Mas se já resolveu, ótimo :)

Qualquer outra dúvida, posta ae que ajudo de boa (se eu souber, é claro :P)


9. Re: Agendador de tarefas [RESOLVIDO]

Glenio Montovani
montovani

(usa Ubuntu)

Enviado em 09/05/2011 - 08:50h

Ah sim Hebang e verdade! Na verdade eu estava tentando entender uma API chamada TimerScheduler como mencionei antes... ela ate existem tbm em java... ai quando vc deu aquele toque dizendo que era melhor fazer na mão como não to bem fameliarizado com a linguagem busquei algo neste sentido e encontrei este ai, mas valeu .... tudo contribuiu para a soluçao. E se tiver mais alguma duvida posto sim... rsrsrs. Valeu inte.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts