Persisted WF Instances Page

Open the Persisted WF Instances page by clicking any of the metrics or instances in the Persisted WF Instances section.

Overview

You can use the Persisted WF Instances page to:

  • Enumerate persisted workflow instances.

  • Issue instance control commands for persisted workflow instances.

  • View the persistence details for a WF instance, such as when the instance was created, when it was last persisted, control commands pending against it, and its current status.

  • Perform actions such as suspend or terminate an instance.

The following sections describe the features and use of the Persisted WF Instances page.

Persisted WF Instances Page

Query Control

Use the query control grid at the top of the middle pane to run simple queries on the Persistence database.

The query control contains two sections: a Query Summary section that shows you the abbreviated text of your query, and a query grid where you can select fields, operators, and criteria values. Below the grid is a Run Query button that runs your query. You can collapse the query control grid by clicking in the Query Summary section.

The following table lists the fields that you can use in your query.

Field Description

Machine

Name of the host machine

Scope

Site, application, or service

Service Name

Type of service

Status

  • Running (Active)

  • Running (Idle)

  • Suspended (Exception)

  • Suspended (UserSuspension)

  • Completed (Successfully)

  • Completed (Terminated)

  • Completed (Cancelled)

Workflow Instance ID

GUID

Creation Time

Date and time when the instance was created

Last Persisted Time

Date and time when the instance was last persisted

Maximum Items

Maximum number of items to return for the query. This field is required.

Persisted Service Instance List

The persisted service instance list is located in the middle pane below the query control. When you select an instance in the persisted service instance list, the instance control actions (described below in the Actions pane section) become active, and you can use them to perform control actions on the instance.

Use the options in the Group by list to group entries by service name, status, or pending command. These do not change the query; they change only how the data is grouped for display.

Note

The persisted service instance list displays only instances of services hosted by Windows Process Activation Services (WAS).

The following table describes the fields in the list:

Field Description

Service Name

Type of service

Machine

Computer on which the instance is running, or on which it ran

Service Virtual Path

Full virtual path of the service

Site Name

Web site the service is deployed to

Status

The status of an instance, which is one of the following:

  • Running:

    • Active

    • Idle

  • Suspended

    • Exception

    • UserSuspension

  • Completed:

    • Successful

    • Terminated

    • Cancelled

Pending Command

Command pending against the instance, if any

Creation Time

Date and time when the instance was created

Last Persisted Time

Date and time when the instance was last persisted

Details Pane

The Details pane is a tabbed control that you can use to see an overview of the persisted instance and a description of the errors (if any) logged against the instance.

Overview Tab

Field Description

Service Name

Name of the service from which the instance was created

Site Name

Full name of the site the WF service runs under

Service Virtual Path

Full virtual path to the WF service

Workflow Instance ID

GUID

Creation Time

Date and time when the instance was created

Last Persisted Time

Date and time when the instance was last persisted

Tracked Events

Number of tracked events available for this instance

Errors Tab

The Errors tab displays errors, if any, pertaining to the selected instance. It can display two types of errors:

  • Errors related to suspended instances. This type of error helps you determine why the instance was suspended. If the instance was suspended due to an unhandled exception, a full stack trace is shown.

  • Instance control errors. This type of error occurs when an instance control command is issued and the command fails during processing.

The Errors tab displays the most recent error for each type. In some cases, it displays errors from both types.

Actions Pane

The Actions pane is the rightmost pane. The items available in it change depending on what is selected in the middle pane. The Refresh and AppFabric Dashboard actions are always available.

  • Clicking Refresh causes the metrics values on the page to be updated.

  • Clicking AppFabric Dashboard takes you back to the AppFabric Dashboard at the scope selected in the Connections pane.

The remaining actions are for instance control. They are available when you select an instance from the persisted service instance list in the middle pane. The following table lists the instance control actions.

Action Item Description

Resume

Resume a suspended instance.

Suspend

Suspend a running instance.

Cancel

Cancel an instance. This action allows cancellation handler code (if present) to run, resulting in a graceful shutdown.

Terminate

Immediately terminate a running or suspended instance. This is not a graceful shutdown, because the instance is immediately terminated without the opportunity to run cancellation handler code.

Delete

Permanently remove a completed instance from the Persistence database.

View Tracked Instances

Takes you to the Tracked Instances page.

View Tracked Events

Takes you to the Tracked Events page.

When you initiate an instance control function, the Pending Command field in the persisted service instance list changes to show the command you have requested (such as Suspend or Cancel). This indicates that the command was placed into the queue; it does not indicate success or failure. If the command fails, the Pending Command field is cleared and the instance remains in the state it was in when the command was requested. The Errors tab in the Details pane displays the reason for operation failure.

You cannot issue an instance control command on an instance that already has a pending command.