Quartz.NET Vítor Paulino http://netpont o.org 23ª Reunião Lisboa - 24/09/2011
Quartz.NET Vítor Paulino
http://netponto.org23ª Reunião Lisboa - 24/09/2011
Patrocinadores desta reunião
Vítor Paulino
EuISEL
NetPonto
Copos & Jantas
Cliente A
Cliente B
Novabase
Agenda
• O que é o Quartz.NET• Arquitectura• Funcionalidades• Entidades• Demonstrações
O que é o Quartz.NET
“Quartz.NET is a full-featured, open source job scheduling system that can be used from
smallest apps to large scale enterprise systems.”
Arquitectura QuartzScheduler
QuartzSchedulerThread
Triggers IJob
Base de dados
Calendars
RAM
Listeners
SimpleThreadPool
JobRunShell
TriggerFiredBundle
JobStore
QuartzSchedulerThread
Funcionalidades
• Diferentes tipos de execução• Triggers• Agendamento de Jobs• Execução de jobs• Persistência de Jobs• Listerners e Plugins
Job• JobDetail–Abstrai a entidade que implementa as interfaces: – Ijob• Contracto base para implementações de tarefas
– IStatefulJob : IJob• Tarefa que pretende manter estado entre execuções – JobDataMap
– InterruptableJob :IJob• Tarefa que possibilita que a sua execução seja interrompida
pelo Scheduler
Trigger
• Identifica-se por nome e grupo• Define a execução do job:–Quando Começa–Quando Acaba–Quantas vezes–Intervalo de tempo–Expressões de sintaxe própria
Calendars
• Associam-se ao Scheduler• Define regras para os dias a executar• Já Implementados:–WeeklyCalendar–HolydayCalendar
Listeners
• Classe que implementa IListener• Adicionam-se ao Scheduler• Associam-se ao job• Monitorizam 3 momentos:–Antes da execução do job–Depois da execução–Quando a execução foi abortada
Plugins
• Capacidade de anexar mais funcionalidades ao fluxo de execução de um Job ou trigger• Implementados como Listeners
Funcionamento do Quartz
demonstração
Questões?
Referências
Site do Quartz.NET – http://quartznet.sourceforge.net/
Patrocinadores desta reunião
Próximas reuniões presenciais
• 24/09/2011 – Setembro (2 anos!)• 29/10/2011 – Outubro• 19/11/2011 – Outubro (Coimbra)• 26/11/2011 – Novembro
Reserva estes dias na agenda! :)
Obrigado!
Vítor [email protected]://www.linkedin.com/in/vpaulinohttp://pontonetpt.org/members/vitorpaulino