← Files TemporalARCHIVED FILE

skills/temporal-developer/references/python/priority-fairness.md

1.53 KB · Nov 9, 2026 · 00:16 UTC

↓ Download file

See the change to this file →

# Task Queue Priority and Fairness in Python

Read [Temporal Task Queue priority and fairness guide](../core/priority-fairness.md) first for the cross-SDK behavior, configuration, and limitations.

Python represents Priority and Fairness metadata with `temporalio.common.Priority`. The three fields are optional and inherit independently. Omit `fairness_key` and `fairness_weight` for Priority-only use, or omit `priority_key` for Fairness at the default Priority.

```python
from temporalio.common import Priority

tenant_priority = Priority(
    priority_key=1,
    fairness_key="tenant-123",
    fairness_weight=2.0,
)
```

## Start a Workflow

Set `priority` in the Client's Workflow start options:

```python
handle = await client.start_workflow(
    MyWorkflow.run,
    args=["input"],
    id="my-workflow-id",
    task_queue="my-task-queue",
    priority=tenant_priority,
)
```

## Override an Activity

Set `priority` on the Workflow-side Activity call. A timeout is still required:

```python
from datetime import timedelta
from temporalio import workflow

result = await workflow.execute_activity(
    process_order,
    "order-123",
    start_to_close_timeout=timedelta(seconds=30),
    priority=tenant_priority,
)
```

## Override a Child Workflow

Set `priority` on the Child Workflow call:

```python
result = await workflow.execute_child_workflow(
    MyChildWorkflow.run,
    args=["input"],
    id="my-child-workflow-id",
    priority=tenant_priority,
)
```

If an Activity or Child Workflow omits `priority`, it inherits the parent Workflow's values.

SHA-256: 9e04f64fec43885ff9efca28f83270818b5b188e770fae6f92de9c1b22ce0277