Udostępnij za pomocą


Aktywacja instancji

Magazyn wystąpień przepływu pracy SQL uruchamia wewnętrzne zadanie, które okresowo budzi się i wykrywa uruchamialne lub aktywowane wystąpienia przepływu pracy w bazie danych persystencji. Jeśli znajdzie wystąpienie przepływu pracy możliwe do uruchomienia, powiadomi hosta przepływu pracy, który może aktywować wystąpienie. Jeśli magazyn wystąpień znajdzie aktywowalne wystąpienie przepływu pracy, powiadomi uniwersalny host, który aktywuje hosta przepływu pracy, a ten z kolei uruchamia wystąpienie przepływu pracy. W poniższych sekcjach w tym temacie szczegółowo opisano proces aktywacji wystąpienia.

Wykrywanie i aktywowanie uruchamialnych wystąpień przepływu pracy

Magazyn wystąpień przepływu pracy SQL uwzględnia wystąpienie przepływu pracy , które można uruchomić , jeśli wystąpienie nie jest w stanie wstrzymania lub stanu ukończonego i spełnia następujące warunki:

  • Wystąpienie jest odblokowane i ma czasomierz oczekujący, który wygasł.

  • Wystąpienie ma wygasłą blokadę.

  • Wystąpienie jest odblokowane, a jego stan to Wykonywanie.

Magazyn wystąpień SQL przepływu pracy sygnalizuje HasRunnableWorkflowEvent, gdy znajdzie wystąpienie gotowe do uruchomienia. Następnie magazyn SqlWorkflowInstanceStore przestaje monitorować, dopóki element TryLoadRunnableWorkflowCommand nie zostanie wywołany raz w magazynie.

Host przepływu pracy, który zasubskrybował HasRunnableWorkflowEvent i jest w stanie załadować wystąpienie, wykonuje TryLoadRunnableWorkflowCommand na magazynie wystąpień, aby załadować wystąpienie do pamięci. Host przepływu pracy jest uznawany za zdolny do załadowania instancji przepływu pracy, jeśli host i instancja mają właściwość WorkflowServiceType ustawioną na tę samą wartość.

Wykrywanie i aktywowanie aktywowanych wystąpień przepływu pracy

Wystąpienie przepływu pracy jest uznawane za aktywowane , jeśli wystąpienie można uruchomić i nie ma hosta przepływu pracy, który może załadować wystąpienie jest uruchomione na komputerze. Zobacz sekcję Wykrywanie i aktywowanie wystąpień możliwych do uruchomienia przepływu pracy powyżej, aby uzyskać definicję wystąpienia przepływu pracy do uruchomienia.

Magazyn wystąpień przepływu pracy SQL zgłasza HasActivatableWorkflowEvent, gdy znajdzie w bazie danych aktywowalne wystąpienie przepływu pracy. Następnie magazyn SqlWorkflowInstanceStore przestaje monitorować, dopóki element QueryActivatableWorkflowsCommand nie zostanie wywołany raz w magazynie.

Gdy ogólny host, który zasubskrybował HasActivatableWorkflowEvent, odbiera zdarzenie, wykonuje QueryActivatableWorkflowsCommand w magazynie wystąpień w celu uzyskania parametrów aktywacji potrzebnych do utworzenia hosta przepływu pracy. Host ogólny używa tych parametrów aktywacji do utworzenia hosta procesów roboczych, który z kolei ładuje i uruchamia działające wystąpienie usługi.

Hosty ogólne

Host ogólny jest hostem z wartością właściwości metadata WorkflowServiceType dla hostów ogólnych jest ustawiony na WorkflowServiceType.Any , aby wskazać, że może obsłużyć dowolny typ przepływu pracy. Host ogólny ma parametr XName o nazwie ActivationType.

Obecnie magazyn wystąpień przepływu pracy SQL obsługuje hosty ogólne z wartością parametru ActivationType ustawionego na WAS. Jeśli parametr ActivationType nie jest ustawiony na WAS, magazyn wystąpień przepływu pracy SQL zgłasza błąd InstancePersistenceException. Usługa zarządzania przepływami pracy dostarczana z funkcjami hostingu systemu Windows Server AppFabric jest hostem ogólnym z typem aktywacji ustawionym na WAS.

W przypadku aktywacji WAS host ogólny wymaga zestawu parametrów aktywacji w celu uzyskania adresu punktu końcowego, pod którym można aktywować nowe hosty. Parametry aktywacji dla WAS to nazwa witryny, ścieżka do aplikacji w kontekście witryny oraz ścieżka do usługi w kontekście aplikacji. Magazyn wystąpień przepływu pracy SQL przechowuje te parametry aktywacji podczas wykonywania elementu SaveWorkflowCommand.

Okres wykrywania wystąpień możliwych do uruchomienia

Właściwość Okres Wykrywania Instancji Możliwych do Uruchomienia w magazynie instancji przepływu pracy SQL określa okres, po którym magazyn wykonuje zadanie wykrywania w celu zidentyfikowania wszystkich możliwych do uruchomienia lub aktywowalnych instancji przepływu pracy w bazie danych trwałości po poprzednim cyklu wykrywania. Aby uzyskać więcej informacji na temat tej właściwości, zobacz Okres wykrywania wystąpień możliwych do uruchomienia.