2009-03-29 2 views
1

Ich habe einige benutzerdefinierte Programme, die ich geschrieben habe, um verschiedene Wartung/Überwachung Aufgaben, die ich regelmäßig ausführen (einige alle paar Minuten, einige so wenig wie einmal pro Tag) zu tun. Ist es besser, sie aus dem Aufgabenplaner zu entfernen oder sie als Windows-Dienst auszuführen (ausgelöst durch ein eingebettetes Timer-Objekt)?Periodische Windows Server Based Prozesse

+0

Ich habe die Windows-Service-Methode verwendet - aber scheint eine Menge programmatischer Overhead ohne viel Gewinn zu sein. Die Installation neuer Versionen ist etwas komplizierter. – Jeff

Antwort

2

Hier ist ein interessanter Artikel über Dienstleistungen vs geplante Aufgaben.

http://weblogs.asp.net/jgalloway/archive/2005/10/24/428303.aspx

Ich denke, für einfachen/one-off-Typen Verarbeitung geplant, es ist einfacher, nur eine Konsole app zu schreiben und es als Fenster geplanten Aufgabe auszuführen.

Allerdings schreibe ich meistens einen Dienst, nur damit alle unsere Dienste auf die gleiche Weise laufen. Wie Martin sagte Quartz.NET ist wirklich leistungsfähig für das Schreiben von Liniendiensten, und gibt Ihnen mehr Flexibilität als einfache geplante Aufgaben.

+0

Großartige Verbindung. Vielen Dank. Offensichtlich für das, was ich benutze, ist der Windows-Scheduler mehr als ausreichend. – Jeff

1

EDIT: Ich nahm irgendwie an, dass Sie nach einer .NET-Lösung suchten. Wenn nicht, dann ignoriere bitte meine Antwort.


Wenn Sie Ihren eigenen Windows-Dienst nutzen möchten, haben dann einen Blick auf Quartz.NET:

Quartz.NET ist eine voll funktionsfähige, offene Source Job-Scheduling-System, das kann verwendet werden Von kleinsten Apps bis zu großen skalieren Enterprise-Systeme.

Mit dieser Bibliothek erhalten Sie die Flexibilität des Windows-Task-Schedulers kostenlos, können aber Ihren eigenen Dienst ausführen.