[Gelöst] Der richtige Einsatz von Workflows?

7. Januar 2010 12:21

Hallo zusammen,

ich möchte gerne das bei meinen Verträgen die Auslaufzeit überwacht wird und 2 Monate vor Ende eine Email versandt wird.
Ich habe dies gelöst über einen Workflow.

Der Workflow startet wenn ich den Vertrag erstelle und wartet dann solange bis die Auslaufzeit erreicht ist (2 Monate vorher).

Jetzt laifen die Verträge ja bis zu 5 Jahren, das heißt solange stehen die jetzt auf warten.
Das bedeutet auch, dass ich nach einiger Zeit 100derte von wartenden Workflows habe.

Ist die Nutzung von Workflows so gedacht, oder gibt es eine bessere Lösung dafür?

Es stellen sichj mir vor allen die folgenden Fragen:

Was passiert wenn ich nach einem Jahr einen Workflow anpasse...
1. ... werden dann alle laufenden Worflows abgebrochen?
2. ... ist die Anpassung dann auch für laufende Workflows gültig?
3. ... was passiert wenn ich die Datenbank umziehe, oder anders:
... welche Dinge würden zu einem Abbruch der laufenden Workflows führen so dass keine Benachrichtigung mehr passiert?

Vielen Dank für eure Antworten.

Liebe Grüße, Chris
Zuletzt geändert von chris_koehne am 9. Januar 2010 21:51, insgesamt 1-mal geändert.

Re: Der richtige Einsatz von Workflows?

7. Januar 2010 13:05

Hallo Chris,

Workflows sind zwar genau dafür gedacht, ich würde aber keine Workflows mit so langen Laufzeiten verwenden.
Dies hat mehrere Gründe. Für jeden laufenden Workflow wird ein Eintrag in das Datenbank vorgenommen, die dadurch im Laufe der Zeit sehr groß werden kann. Dadurch würden Workflows langsamer abgearbeitet werden.
Wird ein Workflow während seiner Laufzeit geändert, werden die laufenden Workflows ebenfalls geändert, da in der DB nur ein Verweis auf den Workflow steht. Ein Workflow steht aber oft, wie auch in deinem Beispiel, an einer bestimmten Stelle und wartet darauf, den nächsten Schritt auszuführen. Wenn du jetzt aber bei diesem Workflow genau diesen Schritt entfernst, wird der Workflow einfach seine Arbeit einstellen und lediglich einen Eintrag im Event Log vornehmen.
Ein Umzug der Datenbank ist kein Problem, da ja alles in der DB gespeichert wird.

Eine Alternative wäre es, ein PlugIn zur Überprüfung zu schreiben und dieses Zeitgesteuert ein mal am Tag, Woche, Monat, was auch immer, auszuführen.

Re: Der richtige Einsatz von Workflows?

7. Januar 2010 13:26

Hallo Michael,

danke für deine Antwort.

Hast du eventuell einen Link für mich?
Gibt es vielleicht schon ein solches Plugin?

Gruß, Chris

Re: Der richtige Einsatz von Workflows?

7. Januar 2010 15:35

Hallo Chris,

ja, habe ich:
Periodic workflow rule execution

Re: Der richtige Einsatz von Workflows?

9. Januar 2010 21:51

Hallo Michael,

vielen Dank, werde mich dann mal einlesen.

Gruß, Chris