Dúvida no uso de Quartz.NET - Agendador de Tarefas

6 respostas
T

Galera, eu to trabalhando com aplicação MVC.

Qual classe eu devo implementar IJob para executar as minhas tarefas agendadas??

Pode ser o Controller??

Fiquei com uma dúvida em relacao a isso, pq eu tenho esse codigo tipando o Controller como a classe que criará um Job:

e no proprio Controller eu preciso implementar IJob e dá um erro.

Esse tipo de implementação esta errada??

6 Respostas

M

Olá!
Geralmente eu crio uma classe que implementa IStatefulJob e no metódo Execute, chamo a classe de negócio.

public class HomeControllerJob : IStatefulJob
{

         public void Execute(...)
         {
 
               new HomeController().foo();
         }
}

Para criar o Job:

JobDetail jobDetail = new JobDetail("lembrete", null, typeof(HomeControllerJob));

A interface IStatefulJob funciona como a IJob, com a diferença que o schedule não dispara uma nova trigger se houver alguma em execução. Isso é muito mais seguro.

abc

T

blz velho, axo q isso pode ajudar!! nao sei… vou testar

agr, aproveitando q tu ta on… como eu faço pra disparar uma trigger se acontecer uma coisa, e disparar outra trigger se acontecer uma outra coisa.

tem como eu trabalhar com clausulas if no quartz??

da uma ajuda ai

brigadaçoo

M

Opá!

Basicamente, cria a trigger, diz qual seu comportamento (minuto, segundo, hora) e coloca no schedule.

http://quartznet.sourceforge.net/tutorial/lesson_4.html

Geralmente, uso as triggers olhando algum status de tabela.

Por exemplo, tenho uma trigger que olha a cada minuto se na tabela “embarque”, existe algum embarque que ainda não foi faturado, pelo campo status, para enviar ao faturamento.

T

vou te da uma explicaçao rapida do q eu qria…
e qria mtu q funcionasse com o quartz

eu preciso que rode uma rotina para inativar usuarios em intervalos de 1 hora
e para ativar usuarios num intervalo de 5 minutos

entendeu??

tem como eu criar esses 2 tipos de trigger e serem chamados em tempos diferentes??

M

Tem sim:

Veja a classe:

http://quartznet.sourceforge.net/apidoc/

e os metódos MakeMinutelyTrigger e MakeHourlyTrigger.

ops: A classe é a TriggerUtils

T

blz parceroo

brigadaçoo

consegui aqui

Criado 9 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 6
Participantes 2