Udostępnij za pośrednictwem


Aktywacja wystąpienia

Magazyn wystąpień przepływu pracy SQL uruchamia wewnętrzne zadanie, które okresowo budzi się i wykrywa wystąpienia uruchamialne lub aktywowane wystąpienia przepływu pracy w bazie danych trwałości. 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 aktywowane wystąpienie przepływu pracy, powiadomi ogólny host, który aktywuje hosta przepływu pracy, który 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 wystąpień przepływu pracy z możliwością uruchamiania

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 na nim wygasłą blokadę.

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

Magazyn wystąpień HasRunnableWorkflowEvent przepływu pracy SQL zgłasza błąd po znalezieniu wystąpienia możliwego 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ł i HasRunnableWorkflowEvent może załadować wystąpienie, wykonuje TryLoadRunnableWorkflowCommand dla magazynu wystąpień, aby załadować wystąpienie do pamięci. Host przepływu pracy jest uznawany za zdolny do ładowania wystąpienia przepływu pracy, jeśli host i wystąpienie mają właściwość MetadataServiceType 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 Temat Wykrywanie i aktywowanie wystąpień przepływu pracy z możliwością uruchamiania powyżej, aby uzyskać definicję wystąpienia przepływu pracy możliwego do uruchomienia.

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

Gdy host ogólny, który zasubskrybował HasActivatableWorkflowEvent zdarzenie odbiera zdarzenie, wykonuje QueryActivatableWorkflowsCommand względem magazynu wystąpień w celu uzyskania parametrów aktywacji wymaganych do utworzenia hosta przepływu pracy. Host ogólny używa tych parametrów aktywacji do utworzenia hosta przepływu pracy, który z kolei ładuje i uruchamia wystąpienie usługi możliwe do uruchomienia.

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 aktywacji WAS to nazwa lokacji, ścieżka do aplikacji względem lokacji oraz ścieżka do usługi względem 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ść Runnable Instances Detection Period magazynu wystąpień przepływu pracy SQL określa okres, po którym magazyn wystąpień przepływu pracy SQL uruchamia zadanie wykrywania, aby wykryć wszystkie wystąpienia przepływu pracy możliwe do uruchomienia lub aktywowalne wystąpienia 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 Runnable Instances Detection Period (Okres wykrywania wystąpień możliwych do uruchomienia).