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

# concurrency_limits

# `prefect.server.models.concurrency_limits`

Functions for interacting with concurrency limit ORM objects.
Intended for internal use by the Prefect REST API.

## Functions

### `emit_concurrency_limit_created_event` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L23](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L23)</sup>

```python theme={null}
emit_concurrency_limit_created_event(concurrency_limit: orm_models.ConcurrencyLimit) -> None
```

Emit an event when a tag-based concurrency limit is created.

### `emit_concurrency_limit_updated_event` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L33](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L33)</sup>

```python theme={null}
emit_concurrency_limit_updated_event(concurrency_limit: orm_models.ConcurrencyLimit) -> None
```

Emit an event when a tag-based concurrency limit is updated.

### `emit_concurrency_limit_deleted_event` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L43](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L43)</sup>

```python theme={null}
emit_concurrency_limit_deleted_event(concurrency_limit: orm_models.ConcurrencyLimit) -> None
```

Emit an event when a tag-based concurrency limit is deleted.

### `create_concurrency_limit` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L54](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L54)</sup>

```python theme={null}
create_concurrency_limit(db: PrefectDBInterface, session: AsyncSession, concurrency_limit: schemas.core.ConcurrencyLimit) -> orm_models.ConcurrencyLimit
```

### `read_concurrency_limit` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L101](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L101)</sup>

```python theme={null}
read_concurrency_limit(db: PrefectDBInterface, session: AsyncSession, concurrency_limit_id: UUID) -> Union[orm_models.ConcurrencyLimit, None]
```

Reads a concurrency limit by id. If used for orchestration, simultaneous read race
conditions might allow the concurrency limit to be temporarily exceeded.

### `read_concurrency_limit_by_tag` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L120](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L120)</sup>

```python theme={null}
read_concurrency_limit_by_tag(db: PrefectDBInterface, session: AsyncSession, tag: str) -> Union[orm_models.ConcurrencyLimit, None]
```

Reads a concurrency limit by tag. If used for orchestration, simultaneous read race
conditions might allow the concurrency limit to be temporarily exceeded.

### `reset_concurrency_limit_by_tag` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L137](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L137)</sup>

```python theme={null}
reset_concurrency_limit_by_tag(db: PrefectDBInterface, session: AsyncSession, tag: str, slot_override: Optional[List[UUID]] = None) -> Union[orm_models.ConcurrencyLimit, None]
```

Resets a concurrency limit by tag.

### `filter_concurrency_limits_for_orchestration` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L158](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L158)</sup>

```python theme={null}
filter_concurrency_limits_for_orchestration(db: PrefectDBInterface, session: AsyncSession, tags: List[str]) -> Sequence[orm_models.ConcurrencyLimit]
```

Filters concurrency limits by tag. This will apply a "select for update" lock on
these rows to prevent simultaneous read race conditions from enabling the
the concurrency limit on these tags from being temporarily exceeded.

### `delete_concurrency_limit` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L183](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L183)</sup>

```python theme={null}
delete_concurrency_limit(db: PrefectDBInterface, session: AsyncSession, concurrency_limit_id: UUID) -> bool
```

### `delete_concurrency_limit_by_tag` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L205](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L205)</sup>

```python theme={null}
delete_concurrency_limit_by_tag(db: PrefectDBInterface, session: AsyncSession, tag: str) -> bool
```

### `read_concurrency_limits` <sup>[https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency\_limits.py#L223](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/models/concurrency_limits.py#L223)</sup>

```python theme={null}
read_concurrency_limits(db: PrefectDBInterface, session: AsyncSession, limit: Optional[int] = None, offset: Optional[int] = None) -> Sequence[orm_models.ConcurrencyLimit]
```

Reads a concurrency limits. If used for orchestration, simultaneous read race
conditions might allow the concurrency limit to be temporarily exceeded.

**Args:**

* `session`: A database session
* `offset`: Query offset
* `limit`: Query limit

**Returns:**

* List\[orm\_models.ConcurrencyLimit]: concurrency limits
