# Queues

> Browse PeopleSoft Integration Broker queues — async ordering containers that group related service operations.

---

LLMS index: [llms.txt](/llms.txt)

---

<div id="pslens-context-panel" class="card border-info mb-4 d-none">
  <div class="card-header bg-light text-info py-2 fw-bold d-flex align-items-center border-bottom border-info-subtle">
    <i class="bi bi-info-circle-fill me-2"></i>
    <span>Tailored Operational Context</span>
  </div>
  <div class="card-body p-0">
    <ul class="list-group list-group-flush">
      <li id="row-db" class="list-group-item d-flex align-items-center justify-content-between py-2 d-none">
        <strong>Target Database:</strong>
        <span id="ctx-db" class="badge bg-secondary font-monospace">&mdash;</span>
      </li>
      <li id="row-type" class="list-group-item d-flex align-items-center justify-content-between py-2 d-none">
        <strong>Context Type:</strong>
        <span id="ctx-type" class="badge bg-light text-dark border font-monospace text-uppercase">&mdash;</span>
      </li>
      <li id="row-severity" class="list-group-item d-flex align-items-center justify-content-between py-2 d-none">
        <strong>Alert Severity:</strong>
        <span id="ctx-severity" class="badge">&mdash;</span>
      </li>
      <li id="row-time" class="list-group-item d-flex align-items-center justify-content-between py-2 d-none">
        <strong>Triggered Time:</strong>
        <span id="ctx-time" class="text-muted small">&mdash;</span>
      </li>
      <li id="row-details" class="list-group-item py-2 d-none">
        <strong id="label-details" class="d-block mb-1">Firing Context:</strong>
        <code id="ctx-details" class="d-block p-2 bg-light border rounded small" style="white-space: pre-wrap; word-break: break-all;">&mdash;</code>
      </li>
    </ul>
  </div>
</div>

<script>
  (function() {
    const params = new URLSearchParams(window.location.search);
    const metadata = params.get('metadata');
    if (!metadata) return;

    try {
      
      const base64 = metadata.replace(/-/g, '+').replace(/_/g, '/');
      const jsonStr = decodeURIComponent(escape(window.atob(base64)));
      const data = JSON.parse(jsonStr);

      if (data) {
        let hasData = false;

        if (data.db) {
          document.getElementById('ctx-db').textContent = data.db;
          document.getElementById('row-db').classList.remove('d-none');
          hasData = true;
        }

        if (data.type) {
          document.getElementById('ctx-type').textContent = data.type;
          document.getElementById('row-type').classList.remove('d-none');
          hasData = true;
        }

        if (data.severity) {
          const severityBadge = document.getElementById('ctx-severity');
          const severity = data.severity.toLowerCase();
          severityBadge.textContent = severity.toUpperCase();
          if (severity === 'critical') {
            severityBadge.className = 'badge bg-danger';
          } else if (severity === 'warning') {
            severityBadge.className = 'badge bg-warning text-dark';
          } else {
            severityBadge.className = 'badge bg-info';
          }
          document.getElementById('row-severity').classList.remove('d-none');
          hasData = true;
        }

        if (data.t) {
          const date = new Date(data.t * 1000);
          document.getElementById('ctx-time').textContent = date.toLocaleString();
          document.getElementById('row-time').classList.remove('d-none');
          hasData = true;
        }

        if (data.details) {
          document.getElementById('ctx-details').textContent = data.details;

          
          const labelDetails = document.getElementById('label-details');
          if (data.type === 'object') {
            labelDetails.textContent = 'Object Metadata Details:';
          } else if (data.type === 'report') {
            labelDetails.textContent = 'Report Description:';
          } else {
            labelDetails.textContent = 'Firing Context:';
          }

          document.getElementById('row-details').classList.remove('d-none');
          hasData = true;
        }

        if (hasData) {
          document.getElementById('pslens-context-panel').classList.remove('d-none');
        }
      }
    } catch (e) {
      console.error('Failed to parse operational context metadata:', e);
    }
  })();
</script>


## What It Is

A Queue is an Integration Broker ordering construct. Async service operations attached to the same queue process serially in the order they arrived, while operations on different queues can run in parallel. Queues are also the unit where IB pauses ("Pause" status) when an administrator stops message processing for maintenance. Each queue is stored in `PSQUEUEDEFN` with a status (Run, Pause) and a partitioning configuration.

## Search Page

URL: `/queues?db={database}`

<figure><img src="/images/screenshots/ib/queues-search.png"
    alt="Queue search results for PT_% showing PTAFEMC, PTAF_APPROVALS, PTAF_MA_CHANNEL and others"><figcaption>
      <p>Queue search results for <code>PT_%</code></p>
    </figcaption>
</figure>


Wildcard `%` search supported. Each card shows the queue's run/pause status, the fast way to spot a paused queue causing a stalled integration.

## Detail Page

URL: `/queues/{QUEUE}?db={database}`

<figure><img src="/images/screenshots/ib/queues-detail.png"
    alt="Detail page for PTAF_APPROVALS queue"><figcaption>
      <p>Queue detail page for <code>PTAF_APPROVALS</code></p>
    </figcaption>
</figure>


The main pane shows **Queue Properties** (status, partitioning method, archive flag, owner, description) and a **Service Operations Using This Queue** card. Queues are simple objects — there are no sidebar toggles.

<figure><img src="/images/screenshots/ib/queues-detail-expanded.png"
    alt="Full Queue detail page"><figcaption>
      <p>Full queue detail page</p>
    </figcaption>
</figure>


## Service Operations Using This Queue

<figure><img src="/images/screenshots/ib/queues-panel-service-operations.png"
    alt="Service Operations Using This Queue panel"><figcaption>
      <p>Service operations bound to this queue</p>
    </figcaption>
</figure>


The list of service operations bound to this queue. Together with the [IB Monitor](/docs/monitor/ib-monitor/), this shows what stops processing when the queue is paused.

## What This Consolidates

In PIA, queue configuration lives under **PeopleTools → Integration Broker → Integration Setup → Queues**, and the link to dependent service operations requires walking each operation separately. psLens shows the queue status and its dependent operations on one page.
