Wie zuverlässig ist der windows task scheduler für das scheduling der code wiederholt ausgeführt werden?
Ich habe ein bisschen code, der sitzen muss auf einer windows server 2003 Maschine und jede minute ausgeführt.
Was ist die empfohlene Vorgehensweise zum Umgang mit diesem? Ist es ok, es als console-Dienst und habe einfach den task-scheduler trifft es immer minute? (ist das überhaupt möglich?) Sollte ich es einfach aufsaugen und schreiben Sie es als windows-Dienst?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da es ausführen muss, um jede einzelne minute,, ich würde vorschlagen, schreiben einen Windows-Dienst. Es ist nicht sehr kompliziert, und wenn Sie noch nie getan, bevor, es wäre toll für Sie, zu lernen, wie es gemacht wird.
Aufruf der geplanten task jede minute ist nicht etwas, was ich empfehlen würde.
Ich würde sagen, es aufzusaugen und schreiben Sie es als Windows-Dienst. Ich habe nicht gefunden, geplante Aufgaben sehr zuverlässig sind und wenn es nicht läuft, habe ich noch einen einfachen Weg finden, um herauszufinden, warum es noch nicht.
Geplante Tasks von Windows ziemlich zuverlässig für unsere Zwecke und wir unterstützen Sie in fast allen Fällen über die Windows-Dienste aufgrund Ihrer einfachen Installation und der erweiterten recovery-Funktionen. Die immer auf die Natur der windows-Dienst konnte am Ende wird ein problem, wenn ein Teil der code, der geschrieben wurde, endet ups immer eingesperrt oder geloopt in ein Stück code, das sollte es nicht sein. Wir in der Regel schreiben unseren code in einer Weise ähnlich zu dieser
Dann als Teil der Geplanten Aufgabe setzen wir eine Frist, wie lange der Prozess laufen kann, und haben es den Prozess zu beenden, wenn es läuft länger. Wenn wir ein Stück code, der Probleme bei der Geplanten Aufgaben wird es töten, und der Prozess startet in der nächsten minute.
wenn Sie brauchen, um es jede minute ausführen, ich würde es bauen als windows-Dienst. Ich würde nicht mit dem scheduler, der für nichts weniger als eine tägliche Aufgabe.
Ich würde sagen, es hängt davon ab, was es Tat, aber im Allgemeinen bin ich immer dafür, mit der die wenigsten Schichten. Wenn Sie es schreiben als console-Dienst und verwenden Sie den task-scheduler dann haben Sie zwei stellen zu pflegen, die Zukunft.
Wenn Sie schreiben, es als windows-Dienst, dann haben Sie nur einen weniger Orte, um zu prüfen, falls etwas schief geht.
Während der Suche für die geplante service-Hilfe, ich stieß auf eine sehr gute Artikel von Jon Galloway.
Gibt es verschiedene diadvantages, wenn ein windows-Dienst verwendet wird, für die geplante Aufgabe. Ich vereinbarte mit ihm. Ich würde vorschlagen, mithilfe des Task Geplant, einfach in der Umsetzung. Bitte detaillierte Informationen über die Umsetzung der task-scheduler. Hoffe, diese info hilft bei der Finalisierung der Umsetzung.
Nur der andere Punkt zu beachten, ist, dass, wenn Sie Auftrag beinhaltet eine Art von Datenbank-Interaktion, prüfen, Blick in die integration/scheduling Dienste Ihrer Datenbank.
Zum Beispiel, erstellen Sie ein SSIS-Paket für Ihre SQL Server-bezogenen service mag ein wenig wie overkill, aber es kann integriert werden, schön mit der Umgebung und seinen eigenen logging/error checking Mechanismen bereits vorhanden.
Ich bin damit einverstanden, es ist irgendwie eine Verschwendung von Aufwand zu erstellen, die auch einer ausführbaren console-Datei und planen es zu werden, die jede minute ausgeführt. Ich würde vorschlagen, die erforschen so etwas wie Quartz.Net. So können Sie eine einfache Aufgabe und Zeitplan es jede minute ausführen.