2016-04-07 15 views
-5

Ich muss die Jobs filtern, die heute basierend auf dem Datum ausgeführt werden sollen. Für jedes geplante Datum vergleiche ich es mit DateTime.Today.Date und erhalte eine Liste von Jobs, die heute ausgeführt werden sollen. Wie kann ich den wiederkehrenden Job anhand der angegebenen Zykluszeit filtern? Beispiel: -> Wenn Zykluszeit 0 ist, jeden Monat zum geplanten Datum ausgeführt -> Wenn die Zykluszeit 2 ist, wird der Auftrag zum ersten Mal am geplanten Tag ausgeführt und dann alle zwei Monate ausgeführt.Wie führe ich alle 2 Monate einen Job aus?

Ich muss Zykluszeit auf diese Weise hinzufügen, wenn Zeitplan Datum = 3/7/2016, Zykluszeit = 2, und wenn geplant Datum == heute, Service ausführen und 2 Monate hinzufügen (07.05.2016) und führen Sie Service an diesem Datum und fügen Sie 2 Monate hinzu (7/7/2016) und so weiter. Ich schrieb diesen Weg, aber wenn es einmal wahr zurückgibt, überprüft es die andere Bedingung nicht. Und das funktioniert nicht für mein Szenario.

Antwort

2

Sie können den Jobplaner von Quartz verwenden. Es verwendet Cron-Expressions für die Planung.

Cron-Ausdrücke werden verwendet, um Instanzen von CronTrigger zu konfigurieren. Cron-Ausdrücke sind Strings, die eigentlich aus sieben Sub-Ausdrücken bestehen, die einzelne Details des Zeitplans beschreiben. Dieser Unterausdruck mit weiß-Raum getrennt und repräsentiert:

1. Seconds 
2. Minutes 
3. Hours 
4. Day-of-Month 
5. Month 
6. Day-of-Week 
7. Year (optional field) 

Ein Beispiel für einen vollständigen cron-Ausdruck ist die String - das bedeutet „jeden Mittwoch um 12:00 Uhr„0 0 12 * WED?“ Uhr ".

Anleitungen sind verfügbar unter http://simplequartzschedulerincsharp.blogspot.in/

Verwandte Themen