Spesso mi sono trovato ad affrontare problemi "banali e comuni" ma che richiedevano l'utilizzo di funzioni temporali.
Un classico sono i famosi Backup di archivi Access o di comuni files, la possibilità di mandare avvisi a cadenza temporale, o l'organizzazione di attività (task) in determinate ore della giornata...
Bene come avrete capito avevo bisogno quindi di uno Scheduler, italianizzato in Schedulatore.
Per definizione uno lo scheduler è un componente fondamentale dei sistemi operativi multitasking, cioè quelli in grado di eseguire più processi (task) concorrentemente.
Nel nostro caso possiamo semplicemente affermare che uno scheduler è un componente in grado di eseguire più processi (task) concorrentemente e in tempi prefissati.
La prima domanda che sorge spontanea è : "Esistono schedulators gratuiti o rilasciati in open source, tali da poter essere inclusi nei nostri progetti .Net?"
La risposta è : QUARTZ (che sottende il SI ed il nome del componente che ci risolve il problema [:D] )
Come cita direttamente il sito :
Quartz.NET is a port of very propular open source Java job scheduling framework, Quartz . This project owes very much to original Java project, it's father James House and the project contributors.
E' quindi un sistema "portato" da java (come il fantastico Log4Net) che offre una piattaforma di job scheduling.
Sempre il sito si promette di utilizzare il sistema in : Quartz.NET is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.
L'ho utilizzato (e conosciuto grazie ad un collega [Maurizio ndr]) e mi sento di affermare che quanto dice è sicuramente vero.
Il sistema in sè è molto facile da utilizzare grazie all'apposita sezione di tutorials messi a disposizione dalla comunità di Quartz.
Nel prossimo articolo entrerò nel dettaglio di come implementare una soluzione completa utilizzando Quartz come framework di base per il job scheduling.
See u in the next episode