2014-09-18 18 views
8

Sto sviluppando un'applicazione di email marketing WinForm. E per la pianificazione delle campagne, ho deciso di utilizzare Quartz.NET. Ho bisogno che sia in esecuzione come servizio di Windows. ma voglio anche che l'utente sia in grado di aggiungere un lavoro (ad esempio una campagna che deve essere eseguita ogni giorno alle 8 AM, che fondamentalmente sta eseguendo un file .bat) al servizio attraverso il programma.Aggiunta e rimozione di lavori dinamicamente a Quartz.NET Servizio Windows

Sono anche salvare tutti gli orari di lavoro nel database in modo che quando si smette di/avviare il sistema operativo o il servizio di Windows può ancora leggere tutti i lavori che devono essere eseguiti.

Come è possibile aggiungere un lavoro al servizio mentre il servizio è in esecuzione? L'aggiunta/rimozione dinamica del lavoro al servizio è ovviamente molto preferita. Fermare il servizio e leggere di nuovo tutti i lavori dal database è, per dirla tutta, la mia ultima risorsa.

risposta

7

È possibile installare Quartz.Net come servizio di Windows e configurarlo per utilizzare AdoJobStore.
L'applicazione WinForm sarà l'interfaccia in cui è possibile aggiungere, sospendere e rimuovere i lavori e trigger.

Non è necessario interrompere il windows services mentre si sta facendo questo.

Non è necessario leggere il database per capire cosa sta succedendo nel quarzo, ma è necessario utilizzare le API fornite.

Ho fatto qualcosa di simile molto tempo fa; il mio "manager" di quartz.net era un'applicazione web.

Potete leggere la mia risposta here.

Credo che la procedura per fare quello che stai cercando per una più o meno lo stesso.

riferimento ai campioni Quartz.net e un libro gratuito può essere trovato here e here.

+2

grazie! è stato solo attraverso altri blog che ho realizzato che puoi installare Quartz.NET come servizio di Windows. Immagino che questo sia un approccio tipico quando si desidera pianificare i lavori in esecuzione indipendentemente dall'applicazione principale. Come mai non vi è alcuna menzione di questa opzione sul sito ufficiale di Quartz.NET? – Disasterkid

+0

La documentazione è piuttosto scarsa. Puoi trovare maggiori informazioni sul Blog di Jay Vilalta (vedi risposta aggiornata). – LeftyX

+1

Sentiti libero di accettare risposte (e upvote) se sei soddisfatto delle risposte. Questo è il modo in cui SO funziona. – LeftyX

Problemi correlati