Skip to content

Commit

Permalink
fix 3.9 specific flakes (#17326)
Browse files Browse the repository at this point in the history
  • Loading branch information
zzstoatzz authored Feb 28, 2025
1 parent 27eb408 commit af502b4
Show file tree
Hide file tree
Showing 8 changed files with 271 additions and 133 deletions.
162 changes: 144 additions & 18 deletions docs/v3/api-ref/rest-api/server/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -12703,22 +12703,64 @@
"Body_count_deployments_deployments_count_post": {
"properties": {
"flows": {
"$ref": "#/components/schemas/FlowFilter"
"anyOf": [
{
"$ref": "#/components/schemas/FlowFilter"
},
{
"type": "null"
}
]
},
"flow_runs": {
"$ref": "#/components/schemas/FlowRunFilter"
"anyOf": [
{
"$ref": "#/components/schemas/FlowRunFilter"
},
{
"type": "null"
}
]
},
"task_runs": {
"$ref": "#/components/schemas/TaskRunFilter"
"anyOf": [
{
"$ref": "#/components/schemas/TaskRunFilter"
},
{
"type": "null"
}
]
},
"deployments": {
"$ref": "#/components/schemas/DeploymentFilter"
"anyOf": [
{
"$ref": "#/components/schemas/DeploymentFilter"
},
{
"type": "null"
}
]
},
"work_pools": {
"$ref": "#/components/schemas/WorkPoolFilter"
"anyOf": [
{
"$ref": "#/components/schemas/WorkPoolFilter"
},
{
"type": "null"
}
]
},
"work_pool_queues": {
"$ref": "#/components/schemas/WorkQueueFilter"
"anyOf": [
{
"$ref": "#/components/schemas/WorkQueueFilter"
},
{
"type": "null"
}
]
}
},
"type": "object",
Expand Down Expand Up @@ -13126,22 +13168,64 @@
"default": 1
},
"flows": {
"$ref": "#/components/schemas/FlowFilter"
"anyOf": [
{
"$ref": "#/components/schemas/FlowFilter"
},
{
"type": "null"
}
]
},
"flow_runs": {
"$ref": "#/components/schemas/FlowRunFilter"
"anyOf": [
{
"$ref": "#/components/schemas/FlowRunFilter"
},
{
"type": "null"
}
]
},
"task_runs": {
"$ref": "#/components/schemas/TaskRunFilter"
"anyOf": [
{
"$ref": "#/components/schemas/TaskRunFilter"
},
{
"type": "null"
}
]
},
"deployments": {
"$ref": "#/components/schemas/DeploymentFilter"
"anyOf": [
{
"$ref": "#/components/schemas/DeploymentFilter"
},
{
"type": "null"
}
]
},
"work_pools": {
"$ref": "#/components/schemas/WorkPoolFilter"
"anyOf": [
{
"$ref": "#/components/schemas/WorkPoolFilter"
},
{
"type": "null"
}
]
},
"work_pool_queues": {
"$ref": "#/components/schemas/WorkQueueFilter"
"anyOf": [
{
"$ref": "#/components/schemas/WorkQueueFilter"
},
{
"type": "null"
}
]
},
"sort": {
"$ref": "#/components/schemas/DeploymentSort",
Expand Down Expand Up @@ -13608,22 +13692,64 @@
"default": 0
},
"flows": {
"$ref": "#/components/schemas/FlowFilter"
"anyOf": [
{
"$ref": "#/components/schemas/FlowFilter"
},
{
"type": "null"
}
]
},
"flow_runs": {
"$ref": "#/components/schemas/FlowRunFilter"
"anyOf": [
{
"$ref": "#/components/schemas/FlowRunFilter"
},
{
"type": "null"
}
]
},
"task_runs": {
"$ref": "#/components/schemas/TaskRunFilter"
"anyOf": [
{
"$ref": "#/components/schemas/TaskRunFilter"
},
{
"type": "null"
}
]
},
"deployments": {
"$ref": "#/components/schemas/DeploymentFilter"
"anyOf": [
{
"$ref": "#/components/schemas/DeploymentFilter"
},
{
"type": "null"
}
]
},
"work_pools": {
"$ref": "#/components/schemas/WorkPoolFilter"
"anyOf": [
{
"$ref": "#/components/schemas/WorkPoolFilter"
},
{
"type": "null"
}
]
},
"work_pool_queues": {
"$ref": "#/components/schemas/WorkQueueFilter"
"anyOf": [
{
"$ref": "#/components/schemas/WorkQueueFilter"
},
{
"type": "null"
}
]
},
"sort": {
"$ref": "#/components/schemas/DeploymentSort",
Expand Down
1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ dependencies = [
"pytz>=2021.1,<2026",
"readchar>=4.0.0,<5.0.0",
"sqlalchemy[asyncio]>=2.0,<3.0.0",
"starlette<0.46.0; python_version == '3.9'",
"typer>=0.12.0,!=0.12.2,<0.16.0",
# Client dependencies
# If you modify this list, make the same modification in client/pyproject.toml
Expand Down
41 changes: 21 additions & 20 deletions src/prefect/server/api/deployments.py
Original file line number Diff line number Diff line change
Expand Up @@ -376,12 +376,12 @@ async def read_deployment(
async def read_deployments(
limit: int = dependencies.LimitBody(),
offset: int = Body(0, ge=0),
flows: schemas.filters.FlowFilter = None,
flow_runs: schemas.filters.FlowRunFilter = None,
task_runs: schemas.filters.TaskRunFilter = None,
deployments: schemas.filters.DeploymentFilter = None,
work_pools: schemas.filters.WorkPoolFilter = None,
work_pool_queues: schemas.filters.WorkQueueFilter = None,
flows: Optional[schemas.filters.FlowFilter] = None,
flow_runs: Optional[schemas.filters.FlowRunFilter] = None,
task_runs: Optional[schemas.filters.TaskRunFilter] = None,
deployments: Optional[schemas.filters.DeploymentFilter] = None,
work_pools: Optional[schemas.filters.WorkPoolFilter] = None,
work_pool_queues: Optional[schemas.filters.WorkQueueFilter] = None,
sort: schemas.sorting.DeploymentSort = Body(
schemas.sorting.DeploymentSort.NAME_ASC
),
Expand Down Expand Up @@ -415,12 +415,12 @@ async def read_deployments(
async def paginate_deployments(
limit: int = dependencies.LimitBody(),
page: int = Body(1, ge=1),
flows: schemas.filters.FlowFilter = None,
flow_runs: schemas.filters.FlowRunFilter = None,
task_runs: schemas.filters.TaskRunFilter = None,
deployments: schemas.filters.DeploymentFilter = None,
work_pools: schemas.filters.WorkPoolFilter = None,
work_pool_queues: schemas.filters.WorkQueueFilter = None,
flows: Optional[schemas.filters.FlowFilter] = None,
flow_runs: Optional[schemas.filters.FlowRunFilter] = None,
task_runs: Optional[schemas.filters.TaskRunFilter] = None,
deployments: Optional[schemas.filters.DeploymentFilter] = None,
work_pools: Optional[schemas.filters.WorkPoolFilter] = None,
work_pool_queues: Optional[schemas.filters.WorkQueueFilter] = None,
sort: schemas.sorting.DeploymentSort = Body(
schemas.sorting.DeploymentSort.NAME_ASC
),
Expand Down Expand Up @@ -474,15 +474,15 @@ async def paginate_deployments(
@router.post("/get_scheduled_flow_runs")
async def get_scheduled_flow_runs_for_deployments(
background_tasks: BackgroundTasks,
deployment_ids: List[UUID] = Body(
deployment_ids: list[UUID] = Body(
default=..., description="The deployment IDs to get scheduled runs for"
),
scheduled_before: DateTime = Body(
None, description="The maximum time to look for scheduled flow runs"
),
limit: int = dependencies.LimitBody(),
db: PrefectDBInterface = Depends(provide_database_interface),
) -> List[schemas.responses.FlowRunResponse]:
) -> list[schemas.responses.FlowRunResponse]:
"""
Get scheduled runs for a set of deployments. Used by a runner to poll for work.
"""
Expand Down Expand Up @@ -515,6 +515,7 @@ async def get_scheduled_flow_runs_for_deployments(

background_tasks.add_task(
mark_deployments_ready,
db=db,
deployment_ids=deployment_ids,
)

Expand All @@ -523,12 +524,12 @@ async def get_scheduled_flow_runs_for_deployments(

@router.post("/count")
async def count_deployments(
flows: schemas.filters.FlowFilter = None,
flow_runs: schemas.filters.FlowRunFilter = None,
task_runs: schemas.filters.TaskRunFilter = None,
deployments: schemas.filters.DeploymentFilter = None,
work_pools: schemas.filters.WorkPoolFilter = None,
work_pool_queues: schemas.filters.WorkQueueFilter = None,
flows: Optional[schemas.filters.FlowFilter] = None,
flow_runs: Optional[schemas.filters.FlowRunFilter] = None,
task_runs: Optional[schemas.filters.TaskRunFilter] = None,
deployments: Optional[schemas.filters.DeploymentFilter] = None,
work_pools: Optional[schemas.filters.WorkPoolFilter] = None,
work_pool_queues: Optional[schemas.filters.WorkQueueFilter] = None,
db: PrefectDBInterface = Depends(provide_database_interface),
) -> int:
"""
Expand Down
2 changes: 2 additions & 0 deletions src/prefect/server/api/work_queues.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ async def read_work_queue_runs(

background_tasks.add_task(
mark_work_queues_ready,
db=db,
polled_work_queue_ids=[work_queue_id],
ready_work_queue_ids=(
[work_queue_id] if work_queue.status == WorkQueueStatus.NOT_READY else []
Expand All @@ -172,6 +173,7 @@ async def read_work_queue_runs(

background_tasks.add_task(
mark_deployments_ready,
db=db,
work_queue_ids=[work_queue_id],
)

Expand Down
2 changes: 2 additions & 0 deletions src/prefect/server/api/workers.py
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@ async def get_scheduled_flow_runs(

background_tasks.add_task(
mark_work_queues_ready,
db=db,
polled_work_queue_ids=[
wq.id for wq in work_queues if wq.status != WorkQueueStatus.NOT_READY
],
Expand All @@ -385,6 +386,7 @@ async def get_scheduled_flow_runs(

background_tasks.add_task(
mark_deployments_ready,
db=db,
work_queue_ids=[wq.id for wq in work_queues],
)

Expand Down
Loading

0 comments on commit af502b4

Please sign in to comment.