Servizio di Windows o Utilità di pianificazione di Windows?

10

Sto pianificando di creare un'utilità, che interrogherà il database e memorizzerà alcune informazioni (su un'altra tabella nel database). È una utility multi-thread e richiede di essere eseguita ogni 5 o 10 minuti / più tardi in un giorno.

Vedo due opzioni per ottenere ciò nella programmazione C # / DotNet.

  • creare un servizio di Windows con un approccio al timer al suo interno.
  • un programma di console e pianificarlo utilizzando l'utilità di pianificazione di Windows.

Quale preferisci e perché?

    
posta Pavan G R 22.09.2010 - 05:09
fonte

5 risposte

2

Commenti di un mio collega di ieri riguardo a questo stesso argomento

"there is always going to be a varied opinion on this one... My rule of thumb would be if you need something that runs every five minutes (and you dont care what time it runs or how long a run takes) or something that responds to events, use a service. If you need something to run at a particular time each day and you are sure that there will not be an over lap, use the Scheduler provided with the OS. If you need a hybrid, either use both solutions for the varying cases or find something off the shelf. (Possibly Quartz .Net) "

L'articolo di Jon Galloway del 2005 "// TODONT: utilizza un servizio Windows solo per eseguirlo un processo pianificato " è una buona lettura. Suggerisco di leggere anche i commenti perché la discussione continua fino ad oggi e fornisce anche alcuni buoni argomenti contrari.

Personalmente, sono d'accordo con il mio collega su questo. Mantenerlo semplice il più a lungo possibile. E se si sta distribuendo sul server Win2008, controllare l'Utilità di pianificazione e tutte le funzionalità offerte dallo scheduler standard. Per me, il killer doveva iniziare un'attività pianificata quando si verifica un evento.

    
risposta data 23.09.2010 - 07:49
fonte
4
I

Servizi sono utilizzati per scopi amministrativi o per offrire un servizio a più applicazioni.

Gli orari vengono utilizzati per l'esecuzione di un'attività più volte che non richiedono necessariamente autorizzazioni aggiuntive.

    
risposta data 22.09.2010 - 13:08
fonte
3

Ho sentito gli argomenti per l'utilizzo di Windows Scheduler ma ho sempre optato per la scrittura della mia app come servizio. All'inizio ho pensato che sarebbe stata una soluzione migliore in un ambiente cluster, ma non è proprio vero. La linea di fondo è che non avevo una buona ragione se non quella di "sentirsi" come un design migliore.

    
risposta data 22.09.2010 - 14:09
fonte
0

perché non provi Quartz.net
l'ho usato una volta e posso dire che è un potente framework per creare il tuo scheduler, e fornisce un servizio preinstallato che eseguirà i tuoi Job pianificati (memorizzati nel database o solo in un file XML) link

    
risposta data 22.09.2010 - 13:55
fonte
0

Se vuoi che l'utente abbia più controllo senza doverlo costruire, usa l'Utilità di pianificazione. Sembra che Google lo faccia con l'aggiornamento delle loro app. A seconda dell'utente, non è difficile gestire l'attività. Porta l'utente fuori dal giro e crea un servizio. La maggior parte delle persone non li toccherà mai.

    
risposta data 22.09.2010 - 16:10
fonte

Leggi altre domande sui tag