Working with Queues

As a Application Developer, you can create Queues to group Workflow Executions that need to run repeatedly and in a specific order within a planned timeframe.

Important! The actions that you can perform depend on your folder permissions. See: Assigning Release Automation Permissions.

This page includes the following:

About Queues

Queues are containers for workflow executions. Queues are intended to run repeatedly within a planned timeframe. The assigned workflow executions are grouped together and processed one after another when the current queue run starts.

Workflow executions within a queue typically have similar purposes or reasons. As an example, a queue named "daily deployments" is used to schedule deployments to a certain environment to be executed within a daily maintenance slot. When the queue run starts, all workflow executions assigned to it are processed one after another.

Some typical scenarios where Queues can be used are:

Fully automated, recurring deployments

Example: the deployment of daily builds to the development system. In this scenario a queue is created for a daily run over night, for instance at 02:00h. The build server is configured to generate a new build, for instance at 01:00h. Additionally the build server is configured to create an execution for it via the deployment service and link it to a queue.

Semi-automated, recurring deployments

Example: weekly deployments to the test system. In this example, deployments to the test system are performed once per week at a certain time. For these deployment cycles a queue is created with a corresponding schedule. Once the packages are ready, an execution is created for them and linked to the queue with which they will be deployed automatically.

Manual execution of a collection of deployments

Example: a set of executions is created but their start time is not yet defined. In this case, the executions are collected in a queue run which is manually started once the time has been fixed.

Prerequisites for Using Queues

Important! In order for queues to run, the TZ.UTC TimeZone object configured by default in the integration.config file (config <add key="AutomationEngine.UTCTimezoneName" value="TZ.UTC"/>) must exist on the AE client. The Time Zone selected in the General Settings section must be UTC.

Screenshot displaying general settings of Time Tone

Viewing Queues

Queues are managed within the Queuesmain section of the Release Automation perspective.

From the Queues view you can:

Tip: For more information about how search for entities and narrow down the results, see Advanced Search.

Creating Queues

  1. Select the Queues tab in the Navigator pane. The Queues list is displayed.
  2. Click the Create button in the toolbar. The Create Queue dialog is displayed.
  3. Enter a name for the Queue.
  4. Assign the folder to store the Queue.
  5. Enter the owner of the Queue. The current user is selected by default.
  6. Click Create.

Note: By default the queue state is set to inactive for the newly created queue.

Creating Queue Runs

Queue Runs are intended to start automatically or manually on an individual, automated start time. You can create the following Queue Runs:

Automatic Start

The scheduled workflow executions will start when all of the following conditions are fulfilled:

When all conditions are met, the processing of the queue run starts automatically.

To Start the Current Queue Run Manually

  1. From the Monitoring list select the queue run.
  2. To initiate the run you have two options:
    • Right-click the queue run to open the context menu and select Run.
    • Click on the Run button in the toolbar.
  3. Click Yes in the Run dialog to confirm the action.

To Start a Queue Run Individually

  1. Go to the Queues list.
  2. Select a queue.
  3. In the Schedule pane of the sidebar enable Activate automatic start.
  4. Select the Schedule queue runs individually option.
  5. Click Save.

Note: You can also plan individual queue runs from the Deployment Calendar.

Processing Queue Runs

When a queue Run is started, its state changes to "Processing". In fact, one of the two states are presented to the user: Waiting or Execution Processing.

After the waiting timeout has been reached (default: 1 hour) the processing of the queue run is canceled and all remaining executions change their state to "failed".

Activating/Deactivating Queues

Every queue can be activated or deactivated.

Active State

This is the most the common state. In this state the queue is active, executions can be scheduled in it and you can start the queue run.

Inactive State

The queue is stored but either not yet finished in its configuration, deactivated because of manual interaction or deactivated automatically because of its last run.

Note: No new executions can be added to a queue in inactive state.

Change State

Activate or deactivate queues as follows:

Depending on the state of the queue, the action buttons Activate or Deactivateare displayed.

Editing the Properties of a Queue

To change the properties of a Queue you can use one of the following:

You can change the following Queue properties:

Assigning Workflow Executions to a Queue

When you schedule a workflow execution to a queue, the execution is added to the current run by default. Only if the current run of the queue has already been started (states: processing, pausing after current, paused) the execution is added to the next run.

The are two ways to assign a workflow execution:

From a Workflow:

  1. Start in the Workflow List or from a detail view.
  2. Click the Execute button. The Schedule Workflow Execution dialog opens.
  3. In the starts section select the In queue... radio button.
  4. Click Execute.

As a result, you have assigned the workflow execution to the current run of the selected queue.

Note: If a queue has already been selected the selection of the deployment profile does only show those deployment profiles having the selected queue assigned.
If a deployment profile has been selected the select box of the queue does only show queues that are assigned to the selected profile.

From a Queue:

  1. From the Queue List select a queue.
  2. Click on Go to details > Runs.
  3. Click the Create button to open the Select Workflow dialog (see screenshot below).
  4. Select the workflow to be executed and click the Select button.

Now the selected workflow is assigned to the current or later run of the selected queue.

Note: The queue has to be activated before assigning workflows.

Deleting Queues

Right-click the entity and select Delete.

Note: You may only delete the entity when you have the appropriate permission on the containing folder (see Security Concept in CDA) and all of the listed conditions are met.

Conditions to delete entities of type Queue

See also: