> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Concurrency events

> Events emitted when concurrency limits are created, updated, deleted, and when slots are acquired and released.

Concurrency events cover two categories: CRUD lifecycle events emitted when
concurrency limits are created, updated, or deleted, and slot events emitted
when concurrency slots are acquired and released. For more on concurrency
limits, see [Global concurrency limits](/docs/v3/concepts/global-concurrency-limits.md).

## Concurrency limit lifecycle events

### `prefect.concurrency-limit.created`

Emitted when a new concurrency limit is created.

#### Resource

| Label | Description |
| - | - |
| `prefect.resource.id` | `prefect.concurrency-limit.{uuid}` |
| `prefect.resource.name` | Concurrency limit name |

#### Related resources

This event has no related resources.

#### Payload

For global (v2) concurrency limits:

| Field | Type | Description |
| - | - | - |
| `name` | string | Concurrency limit name |
| `limit` | integer | Maximum number of concurrent slots |
| `active` | boolean | Whether the limit is currently active |
| `slot_decay_per_second` | float | Rate at which slots are released over time |

For tag-based (v1) concurrency limits:

| Field | Type | Description |
| - | - | - |
| `tag` | string | Tag this limit applies to |
| `concurrency_limit` | integer | Maximum number of concurrent runs |

### `prefect.concurrency-limit.updated`

Emitted when a concurrency limit's configuration is changed.

#### Resource

Same as [`prefect.concurrency-limit.created`](#prefect-concurrency-limit-created).

#### Related resources

This event has no related resources.

#### Payload

Same as [`prefect.concurrency-limit.created`](#prefect-concurrency-limit-created).

### `prefect.concurrency-limit.deleted`

Emitted when a concurrency limit is deleted.

#### Resource

Same as [`prefect.concurrency-limit.created`](#prefect-concurrency-limit-created).

#### Related resources

This event has no related resources.

#### Payload

Same as [`prefect.concurrency-limit.created`](#prefect-concurrency-limit-created).

## Slot events

### `prefect.concurrency-limit.acquired`

Emitted when concurrency slots are acquired for a named limit.

#### Resource

| Label | Description |
| - | - |
| `prefect.resource.id` | `prefect.concurrency-limit.{uuid}` |
| `prefect.resource.name` | Concurrency limit name |
| `slots-acquired` | Number of slots acquired in this request |
| `limit` | Maximum number of slots for this limit |

#### Related resources

| Resource ID pattern | Role | When present |
| - | - | - |
| `prefect.concurrency-limit.{uuid}` | `concurrency-limit` | One entry per other limit in the same acquisition batch (when acquiring multiple limits at once) |

#### Payload

This event has no payload.

### `prefect.concurrency-limit.released`

Emitted when concurrency slots are released for a named limit. Uses the `follows`
field to link back to the corresponding `acquired` event.

#### Resource

Same as [`prefect.concurrency-limit.acquired`](#prefect-concurrency-limit-acquired).

#### Related resources

Same as [`prefect.concurrency-limit.acquired`](#prefect-concurrency-limit-acquired).

#### Payload

This event has no payload.

## Legacy v1 concurrency events

> [!NOTE]
>
> These events are emitted by the legacy tag-based concurrency limit system. For
> new concurrency limits, use global concurrency limits which emit the events
> documented above.

### `prefect.concurrency-limit.v1.acquired`

Emitted when a legacy tag-based concurrency slot is acquired.

#### Resource

| Label | Description |
| - | - |
| `prefect.resource.id` | `prefect.concurrency-limit.v1.{uuid}` |
| `prefect.resource.name` | Tag name |
| `limit` | Maximum number of slots |
| `task_run_id` | ID of the task run acquiring the slot |

#### Related resources

| Resource ID pattern | Role | When present |
| - | - | - |
| `prefect.concurrency-limit.v1.{uuid}` | `concurrency-limit` | One entry per other limit in the same acquisition batch |

#### Payload

This event has no payload.

### `prefect.concurrency-limit.v1.released`

Emitted when a legacy tag-based concurrency slot is released.

#### Resource

Same as [`prefect.concurrency-limit.v1.acquired`](#prefect-concurrency-limit-v1-acquired).

#### Related resources

Same as [`prefect.concurrency-limit.v1.acquired`](#prefect-concurrency-limit-v1-acquired).

#### Payload

This event has no payload.
