DalgoT4D / prefect-proxy

GNU Affero General Public License v3.0
1 stars 7 forks source link

deployment creation (after prefect upgrade?) #138

Closed fatchat closed 3 months ago

fatchat commented 3 months ago
4|prefect-proxy         | 13:16:13.372 | WARNING | prefect.deployments - The field 'schedule' in 'Deployment' has been deprecated. It will not be available after Sep 2024. Define schedules in the `schedules` list instead.
4|prefect-proxy         | 13:16:13.470 | WARNING | prefect.deployments - The field 'schedule' in 'Deployment' has been deprecated. It will not be available after Sep 2024. Define schedules in the `schedules` list instead.
4|prefect-proxy         | 13:16:13.586 | INFO    | prefect.deployments - Interpreting the deprecated `schedule` field as an entry in `schedules`.
4|prefect-proxy         | 2024-06-11 13:16:13,594 [ERROR] {helpers.py -> exception} [1 validation error for DeploymentScheduleCreate
4|prefect-proxy         | active
4|prefect-proxy         |   none is not an allowed value (type=type_error.none.not_allowed)] [orgname: noora-health] [caller_name: post_deployment_v1] [file_name: service.py]
4|prefect-proxy         | Traceback (most recent call last):
4|prefect-proxy         |   File "/home/ddp/prefect-proxy/proxy/service.py", line 588, in post_deployment_v1
4|prefect-proxy         |     deployment_id = await deployment.apply()
4|prefect-proxy         |   File "/home/ddp/prefect-proxy/venv/lib/python3.10/site-packages/prefect/deployments/deployments.py", line 870, in apply
4|prefect-proxy         |     DeploymentScheduleCreate(
4|prefect-proxy         |   File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
4|prefect-proxy         | pydantic.error_wrappers.ValidationError: 1 validation error for DeploymentScheduleCreate
4|prefect-proxy         | active
4|prefect-proxy         |   none is not an allowed value (type=type_error.none.not_allowed)

we invoke as

    deployment = await Deployment.build_from_flow(
        flow=deployment_schedule_flow_v4.with_options(name=payload.flow_name),
        name=payload.deployment_name,
        work_queue_name=work_queue_name,
        work_pool_name=work_pool_name,
        tags=[payload.org_slug],
    )
    deployment.parameters = payload.deployment_params
    deployment.schedule = CronSchedule(cron=payload.cron) if payload.cron else None