Frage

Ich habe meinen Workflow in einer WorkflowServiceApplication auf IIS5 (Produktionsumgebung IIS6) mit einer Persistenzdatenbank veranstaltet. Es handelt sich um einen Antrags-/Genehmigungsdienst, daher gibt es eine Verzögerung (einige Tage), während Sie auf die Genehmigung warten, und wenn diese Verzögerung ohne Genehmigung übergeht, sendet der Workflow eine E-Mail an den Genehmiger. Mir ist aufgefallen, dass die ausstehenden Workflows nur "aufwachen" und ihre E-Mails senden, wenn ich eine neue Anfrage stelle (dh eine neue Workflow-Instanz). Ich gehe davon aus, dass beim Starten eines neuen Flusses etwas den Instanzgeschäft für Instanzen überprüft, die auf Lebenslauf zurückzuführen sind und sie wieder aufnehmen. Ich habe das Problem gerade erst bemerkt, weil ich zuvor mit Verzögerungen getestet habe, die nur wenige Minuten als Tage waren. Ich habe es noch nicht auf IIS6 ausprobiert, aber ich gehe davon aus, dass es dasselbe wäre.

F1) Muss ich eine Konsolen -App oder etwas schreiben, um die Ströme regelmäßig zu überprüfen und wieder aufzunehmen, und wenn ja, kann jemand empfehlen, wie es geht? Oder habe ich gerade etwas falsch gemacht?

F2) Angenommen, die Antwort auf Q1 lautet "Ja, Sie müssen etwas schreiben", wenn ich IIS7 und AppFabric (was möglich sein könnte) verwenden würde, würde der Schlaf/Lebenslauf einfach funktionieren, ohne dass ich einen Code schreiben und wieder aufnehmen muss die Strömungen? dh einfach den Workflow -Dienst in AppFabric bereitstellen und er funktioniert?

Danke im Voraus.

War es hilfreich?

Lösung

Die Antwort auf Q1 lautet ja. Nach einem IIS -Appdomain recycles wird es erst dann neu gestartet, wenn es eine externe Anfrage dafür gibt. Infolgedessen ist der WorkflowServiceHost nicht aktiv und abgelaufene Verzögerungsaktivitäten werden nicht wieder aufgenommen. Mit Versionen von IIS vor 7 müssen Sie eine externe Anfrage erstellen, um sicherzustellen, dass der WorkflowServiceHost verfügbar ist. Die einfachste Art, dies zu tun, ist nur einen Windows -Service zu haben, der regelmäßig die WSDL -Seite abgerufen hat.

Wenn Ihr Upgrade auf IIS7 und AppFabric einen Dienst so konfigurieren, dass das gleiche Problem automatisch startet, sobald IIS ausgeführt wird. Ich würde diese Option bevorzugen, da AppFabric Ihnen viele zusätzliche Vorteile wie das Tracking bietet.

Andere Tipps

Ja, der Workflow -Management -Service von Windows Server AppFabric weckt Workflows mit ausstehenden Timern auf. Sie erhalten das kostenlos sowie andere Leckereien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top