Quartz.NET - Agendamento de Tarefas
-
Upload
comunidade-netponto -
Category
Technology
-
view
2.893 -
download
6
Transcript of Quartz.NET - Agendamento de Tarefas
![Page 1: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/1.jpg)
Quartz.NET Vítor Paulino
http://netponto.org23ª Reunião Lisboa - 24/09/2011
![Page 3: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/3.jpg)
Patrocinadores desta reunião
![Page 4: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/4.jpg)
Vítor Paulino
EuISEL
NetPonto
Copos & Jantas
Cliente A
Cliente B
Novabase
![Page 5: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/5.jpg)
Agenda
• O que é o Quartz.NET• Arquitectura• Funcionalidades• Entidades• Demonstrações
![Page 6: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/6.jpg)
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.”
![Page 7: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/7.jpg)
Arquitectura QuartzScheduler
QuartzSchedulerThread
Triggers IJob
Base de dados
Calendars
RAM
Listeners
SimpleThreadPool
JobRunShell
TriggerFiredBundle
JobStore
QuartzSchedulerThread
![Page 8: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/8.jpg)
Funcionalidades
• Diferentes tipos de execução• Triggers• Agendamento de Jobs• Execução de jobs• Persistência de Jobs• Listerners e Plugins
![Page 9: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/9.jpg)
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
![Page 10: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/10.jpg)
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
![Page 11: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/11.jpg)
Calendars
• Associam-se ao Scheduler• Define regras para os dias a executar• Já Implementados:–WeeklyCalendar–HolydayCalendar
![Page 12: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/12.jpg)
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
![Page 13: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/13.jpg)
Plugins
• Capacidade de anexar mais funcionalidades ao fluxo de execução de um Job ou trigger• Implementados como Listeners
![Page 14: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/14.jpg)
Funcionamento do Quartz
demonstração
![Page 15: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/15.jpg)
Questões?
![Page 16: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/16.jpg)
Referências
Site do Quartz.NET – http://quartznet.sourceforge.net/
![Page 18: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/18.jpg)
Patrocinadores desta reunião
![Page 19: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/19.jpg)
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! :)
![Page 20: Quartz.NET - Agendamento de Tarefas](https://reader031.fdocument.pub/reader031/viewer/2022013114/5560b346d8b42af43b8b47c4/html5/thumbnails/20.jpg)
Obrigado!
Vítor [email protected]://www.linkedin.com/in/vpaulinohttp://pontonetpt.org/members/vitorpaulino