prefect-client 3.7.2.dev3__tar.gz → 3.7.2.dev5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/PKG-INFO +1 -1
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/__init__.py +5 -0
- prefect_client-3.7.2.dev5/src/prefect/_build_info.py +5 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/runner.py +12 -12
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/work_queues.py +18 -1
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/workers.py +68 -117
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/sources.py +7 -1
- prefect_client-3.7.2.dev3/src/prefect/_build_info.py +0 -5
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/.gitignore +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/LICENSE +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/README.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/hatch_build.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/pyproject.toml +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/__main__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/_launchers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/bundles/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/bundles/execute.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/apply.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/manager.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/spec.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_flow_run_suspension.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/ci_detection.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/device_id.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/emit.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/enabled.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/milestones.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/notice.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/service.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/ast_utils.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/buildx.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/backports.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/blocks.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/compatibility/starlette.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/control_listener.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/deprecated.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/engine.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/git.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/installation.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/launchers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/lazy.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/metrics.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/observability.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/observers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/apply.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/collections.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/diagnostics.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/manager.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/spec.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/startup.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/validated_func.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/result_records.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/schema.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/states.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/testing.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/urls.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/uuid7.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/version_checking.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/versioning.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/waiters.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/websockets.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/fetcher.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/generator.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/models.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/naming.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/renderer.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/schema_converter.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/templates/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/types.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_sdk/unions.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/agent.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/analytics/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/assets/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/assets/core.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/assets/materialize.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/automations.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/bundles/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/bundles/_file_collector.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/bundles/_ignore_filter.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/bundles/_path_resolver.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/bundles/_zip_builder.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/bundles/_zip_extractor.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/bundles/execute.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/attribution.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/base.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_events/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_events/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/schemas/worker_channel.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/_leases.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/_sync.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/context.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/docker/_buildx.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/engine.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/related.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/subscribers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/flows.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/futures.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/locking/_filelock.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/locking/memory.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/clients.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/main.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/plugins.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/py.typed +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/results.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_cancel_finalizer.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_cancellation_manager.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_control_channel.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_deployment_registry.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_event_emitter.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_flow_resolver.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_flow_run_executor.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_hook_runner.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_limit_manager.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_process_manager.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_scheduled_run_poller.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_starter_bundle.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_starter_direct.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_starter_engine.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_state_proposer.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_workspace_resolver.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/_workspace_starter.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/schedules.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/serializers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/background_workers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/deployments.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/_defaults.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/plugins.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/concurrency.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/docket.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/logs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/telemetry.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/states.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/task_engine.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/tasks.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/transactions.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/types/_concurrency.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/types/names.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/asyncutils/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/callables/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/callables/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/engine/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/engine/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/filesystem/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/processutils/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/processutils/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/templating/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/templating/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/variables.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/AGENTS.md +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/_cleanup.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/_cleanup_handlers.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/_worker_channel/__init__.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/_worker_channel/_state.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/_worker_channel/_sync.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/_worker_channel/_transport.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/workers/utilities.py +0 -0
|
@@ -113,6 +113,11 @@ def _initialize_plugins() -> None:
|
|
|
113
113
|
# Re-raise SystemExit from strict mode
|
|
114
114
|
raise
|
|
115
115
|
except Exception as e:
|
|
116
|
+
from pydantic_settings.exceptions import SettingsError
|
|
117
|
+
|
|
118
|
+
if isinstance(e, SettingsError):
|
|
119
|
+
return
|
|
120
|
+
|
|
116
121
|
# Log but don't crash on plugin errors
|
|
117
122
|
try:
|
|
118
123
|
from prefect.logging import get_logger
|
|
@@ -215,7 +215,7 @@ class Runner:
|
|
|
215
215
|
def goodbye_flow(name):
|
|
216
216
|
print(f"goodbye {name}")
|
|
217
217
|
|
|
218
|
-
if __name__ == "__main__"
|
|
218
|
+
if __name__ == "__main__":
|
|
219
219
|
runner = Runner(name="my-runner")
|
|
220
220
|
|
|
221
221
|
# Will be runnable via the API
|
|
@@ -614,17 +614,17 @@ class Runner:
|
|
|
614
614
|
def goodbye_flow(name):
|
|
615
615
|
print(f"goodbye {name}")
|
|
616
616
|
|
|
617
|
-
|
|
618
|
-
|
|
617
|
+
if __name__ == "__main__":
|
|
618
|
+
runner = Runner(name="my-runner")
|
|
619
619
|
|
|
620
|
-
|
|
621
|
-
|
|
620
|
+
# Will be runnable via the API
|
|
621
|
+
runner.add_flow(hello_flow)
|
|
622
622
|
|
|
623
|
-
|
|
624
|
-
|
|
623
|
+
# Run on a cron schedule
|
|
624
|
+
runner.add_flow(goodbye_flow, schedule={"cron": "0 * * * *"})
|
|
625
625
|
|
|
626
|
-
|
|
627
|
-
|
|
626
|
+
asyncio.run(runner.start())
|
|
627
|
+
```
|
|
628
628
|
"""
|
|
629
629
|
from prefect.runner.server import start_webserver
|
|
630
630
|
|
|
@@ -781,9 +781,9 @@ class Runner:
|
|
|
781
781
|
# The process may be a multiprocessing.context.SpawnProcess, in which case it will have an `exitcode` attribute
|
|
782
782
|
# but no `returncode` attribute
|
|
783
783
|
if (
|
|
784
|
-
getattr(process, "returncode", None)
|
|
785
|
-
|
|
786
|
-
)
|
|
784
|
+
getattr(process, "returncode", None) is None
|
|
785
|
+
and getattr(process, "exitcode", None) is None
|
|
786
|
+
):
|
|
787
787
|
await self._add_flow_run_process_map_entry(
|
|
788
788
|
flow_run.id, ProcessMapEntry(pid=process.pid, flow_run=flow_run)
|
|
789
789
|
)
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/server/api/work_queues.py
RENAMED
|
@@ -78,6 +78,15 @@ async def update_work_queue(
|
|
|
78
78
|
Updates an existing work queue.
|
|
79
79
|
"""
|
|
80
80
|
async with db.session_context(begin_transaction=True) as session:
|
|
81
|
+
existing_work_queue = await models.work_queues.read_work_queue(
|
|
82
|
+
session=session, work_queue_id=work_queue_id
|
|
83
|
+
)
|
|
84
|
+
if existing_work_queue is None:
|
|
85
|
+
raise HTTPException(
|
|
86
|
+
status_code=status.HTTP_404_NOT_FOUND,
|
|
87
|
+
detail=f"Work Queue {work_queue_id} not found",
|
|
88
|
+
)
|
|
89
|
+
|
|
81
90
|
result = await models.work_queues.update_work_queue(
|
|
82
91
|
session=session,
|
|
83
92
|
work_queue_id=work_queue_id,
|
|
@@ -86,7 +95,8 @@ async def update_work_queue(
|
|
|
86
95
|
)
|
|
87
96
|
if not result:
|
|
88
97
|
raise HTTPException(
|
|
89
|
-
status_code=status.HTTP_404_NOT_FOUND,
|
|
98
|
+
status_code=status.HTTP_404_NOT_FOUND,
|
|
99
|
+
detail=f"Work Queue {work_queue_id} not found",
|
|
90
100
|
)
|
|
91
101
|
|
|
92
102
|
|
|
@@ -239,6 +249,13 @@ async def delete_work_queue(
|
|
|
239
249
|
Delete a work queue by id.
|
|
240
250
|
"""
|
|
241
251
|
async with db.session_context(begin_transaction=True) as session:
|
|
252
|
+
existing_work_queue = await models.work_queues.read_work_queue(
|
|
253
|
+
session=session, work_queue_id=work_queue_id
|
|
254
|
+
)
|
|
255
|
+
if existing_work_queue is None:
|
|
256
|
+
raise HTTPException(
|
|
257
|
+
status_code=status.HTTP_404_NOT_FOUND, detail="work queue not found"
|
|
258
|
+
)
|
|
242
259
|
result = await models.work_queues.delete_work_queue(
|
|
243
260
|
session=session, work_queue_id=work_queue_id
|
|
244
261
|
)
|
|
@@ -26,14 +26,11 @@ import prefect.server.schemas as schemas
|
|
|
26
26
|
from prefect._internal.uuid7 import uuid7
|
|
27
27
|
from prefect.client.schemas.worker_channel import (
|
|
28
28
|
WORK_POOL_SNAPSHOT_CAPABILITY,
|
|
29
|
-
WORKER_CHANNEL_CLOSE_POLICIES,
|
|
30
29
|
WORKER_HEARTBEAT_CAPABILITY,
|
|
31
30
|
WorkerChannelCloseReason,
|
|
32
31
|
WorkerChannelProtocolError,
|
|
33
|
-
WorkerHeartbeatFrame,
|
|
34
32
|
WorkerHelloFrame,
|
|
35
33
|
WorkerReadyFrame,
|
|
36
|
-
WorkPoolSnapshot,
|
|
37
34
|
WorkPoolSnapshotPayload,
|
|
38
35
|
select_worker_channel_version,
|
|
39
36
|
validate_worker_channel_frame,
|
|
@@ -49,6 +46,7 @@ from prefect.server.models.work_queues import (
|
|
|
49
46
|
from prefect.server.models.workers import emit_work_pool_status_event
|
|
50
47
|
from prefect.server.schemas.statuses import WorkQueueStatus
|
|
51
48
|
from prefect.server.utilities import subscriptions
|
|
49
|
+
from prefect.server.utilities import worker_channel as worker_channel_utils
|
|
52
50
|
from prefect.server.utilities.server import PrefectRouter
|
|
53
51
|
from prefect.types import DateTime
|
|
54
52
|
from prefect.types._datetime import now
|
|
@@ -185,13 +183,6 @@ class WorkerChannelWorkPoolUpdateEvent:
|
|
|
185
183
|
changed_fields: dict[str, dict[str, Any]]
|
|
186
184
|
|
|
187
185
|
|
|
188
|
-
async def _close_worker_channel(
|
|
189
|
-
websocket: WebSocket, close_reason: WorkerChannelCloseReason
|
|
190
|
-
) -> None:
|
|
191
|
-
policy = WORKER_CHANNEL_CLOSE_POLICIES[close_reason]
|
|
192
|
-
await websocket.close(code=policy.websocket_code, reason=close_reason.value)
|
|
193
|
-
|
|
194
|
-
|
|
195
186
|
async def _receive_worker_hello(websocket: WebSocket) -> WorkerHelloFrame:
|
|
196
187
|
try:
|
|
197
188
|
message = await websocket.receive_json()
|
|
@@ -295,25 +286,6 @@ async def _resolve_worker_channel_work_queues(
|
|
|
295
286
|
return work_queues
|
|
296
287
|
|
|
297
288
|
|
|
298
|
-
async def _build_worker_channel_work_pool_snapshot(
|
|
299
|
-
session: AsyncSession,
|
|
300
|
-
work_pool: "ORMWorkPool",
|
|
301
|
-
) -> WorkPoolSnapshot:
|
|
302
|
-
work_pool_response = schemas.responses.WorkPoolResponse.model_validate(
|
|
303
|
-
work_pool, from_attributes=True
|
|
304
|
-
)
|
|
305
|
-
|
|
306
|
-
if work_pool_response.concurrency_limit is not None:
|
|
307
|
-
work_pool_response.active_slots = (
|
|
308
|
-
await models.workers.count_work_pool_active_slots(
|
|
309
|
-
session=session,
|
|
310
|
-
work_pool_id=work_pool.id,
|
|
311
|
-
)
|
|
312
|
-
)
|
|
313
|
-
|
|
314
|
-
return WorkPoolSnapshot.model_validate(work_pool_response.model_dump(mode="json"))
|
|
315
|
-
|
|
316
|
-
|
|
317
289
|
async def _build_worker_ready_frame(
|
|
318
290
|
session: AsyncSession,
|
|
319
291
|
work_pool_name: str,
|
|
@@ -392,7 +364,7 @@ async def _build_worker_ready_frame(
|
|
|
392
364
|
initial_snapshot = WorkPoolSnapshotPayload(
|
|
393
365
|
snapshot_sequence=1,
|
|
394
366
|
reason="initial",
|
|
395
|
-
work_pool=await
|
|
367
|
+
work_pool=await worker_channel_utils.build_worker_channel_work_pool_snapshot(
|
|
396
368
|
session=session,
|
|
397
369
|
work_pool=refreshed_work_pool,
|
|
398
370
|
),
|
|
@@ -433,27 +405,6 @@ async def _build_worker_ready_frame(
|
|
|
433
405
|
)
|
|
434
406
|
|
|
435
407
|
|
|
436
|
-
async def _persist_worker_channel_heartbeat(
|
|
437
|
-
session: AsyncSession,
|
|
438
|
-
work_pool_name: str,
|
|
439
|
-
frame: WorkerHeartbeatFrame,
|
|
440
|
-
) -> None:
|
|
441
|
-
work_pool = await models.workers.read_work_pool_by_name(
|
|
442
|
-
session=session,
|
|
443
|
-
work_pool_name=work_pool_name,
|
|
444
|
-
)
|
|
445
|
-
if work_pool is None:
|
|
446
|
-
raise RuntimeError("Worker channel work pool no longer exists")
|
|
447
|
-
|
|
448
|
-
await models.workers.record_worker_heartbeat(
|
|
449
|
-
session=session,
|
|
450
|
-
work_pool=work_pool,
|
|
451
|
-
worker_name=frame.payload.worker_name,
|
|
452
|
-
heartbeat_interval_seconds=frame.payload.heartbeat_interval_seconds,
|
|
453
|
-
emit_status_change=emit_work_pool_status_event,
|
|
454
|
-
)
|
|
455
|
-
|
|
456
|
-
|
|
457
408
|
# -----------------------------------------------------
|
|
458
409
|
# --
|
|
459
410
|
# --
|
|
@@ -642,13 +593,23 @@ async def update_work_pool(
|
|
|
642
593
|
work_pool_id = await worker_lookups._get_work_pool_id_from_name(
|
|
643
594
|
session=session, work_pool_name=work_pool_name
|
|
644
595
|
)
|
|
645
|
-
await models.workers.update_work_pool(
|
|
596
|
+
updated = await models.workers.update_work_pool(
|
|
646
597
|
session=session,
|
|
647
598
|
work_pool_id=work_pool_id,
|
|
648
599
|
work_pool=work_pool,
|
|
649
600
|
emit_status_change=emit_work_pool_status_event,
|
|
650
601
|
)
|
|
651
602
|
|
|
603
|
+
if updated and worker_channel_utils.work_pool_update_triggers_snapshot(
|
|
604
|
+
update_values
|
|
605
|
+
):
|
|
606
|
+
await worker_channel_utils.publish_snapshot_invalidation(
|
|
607
|
+
worker_channel_utils.WorkerChannelSnapshotInvalidation(
|
|
608
|
+
work_pool_id=work_pool_id,
|
|
609
|
+
reason="work_pool_updated",
|
|
610
|
+
)
|
|
611
|
+
)
|
|
612
|
+
|
|
652
613
|
|
|
653
614
|
@router.delete("/{name}", status_code=status.HTTP_204_NO_CONTENT)
|
|
654
615
|
async def delete_work_pool(
|
|
@@ -674,10 +635,19 @@ async def delete_work_pool(
|
|
|
674
635
|
session=session, work_pool_name=work_pool_name
|
|
675
636
|
)
|
|
676
637
|
|
|
677
|
-
await models.workers.delete_work_pool(
|
|
638
|
+
deleted = await models.workers.delete_work_pool(
|
|
678
639
|
session=session, work_pool_id=work_pool_id
|
|
679
640
|
)
|
|
680
641
|
|
|
642
|
+
if deleted:
|
|
643
|
+
await worker_channel_utils.publish_snapshot_invalidation(
|
|
644
|
+
worker_channel_utils.WorkerChannelSnapshotInvalidation(
|
|
645
|
+
work_pool_id=work_pool_id,
|
|
646
|
+
reason="work_pool_deleted",
|
|
647
|
+
work_pool_deleted=True,
|
|
648
|
+
)
|
|
649
|
+
)
|
|
650
|
+
|
|
681
651
|
|
|
682
652
|
@router.post("/{name}/concurrency_status")
|
|
683
653
|
async def read_work_pool_concurrency_status(
|
|
@@ -1013,8 +983,11 @@ async def update_work_queue(
|
|
|
1013
983
|
"""
|
|
1014
984
|
Update a work pool queue
|
|
1015
985
|
"""
|
|
1016
|
-
|
|
1017
986
|
async with db.session_context(begin_transaction=True) as session:
|
|
987
|
+
await worker_lookups._get_work_pool_id_from_name(
|
|
988
|
+
session=session,
|
|
989
|
+
work_pool_name=work_pool_name,
|
|
990
|
+
)
|
|
1018
991
|
work_queue_id = await worker_lookups._get_work_queue_id_from_name(
|
|
1019
992
|
work_pool_name=work_pool_name,
|
|
1020
993
|
work_queue_name=work_queue_name,
|
|
@@ -1045,6 +1018,10 @@ async def delete_work_queue(
|
|
|
1045
1018
|
"""
|
|
1046
1019
|
|
|
1047
1020
|
async with db.session_context(begin_transaction=True) as session:
|
|
1021
|
+
await worker_lookups._get_work_pool_id_from_name(
|
|
1022
|
+
session=session,
|
|
1023
|
+
work_pool_name=work_pool_name,
|
|
1024
|
+
)
|
|
1048
1025
|
work_queue_id = await worker_lookups._get_work_queue_id_from_name(
|
|
1049
1026
|
session=session,
|
|
1050
1027
|
work_pool_name=work_pool_name,
|
|
@@ -1081,84 +1058,58 @@ async def worker_channel_connect(
|
|
|
1081
1058
|
|
|
1082
1059
|
try:
|
|
1083
1060
|
hello = await _receive_worker_hello(websocket)
|
|
1084
|
-
async with
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
)
|
|
1090
|
-
|
|
1091
|
-
if work_pool_update_event is not None:
|
|
1092
|
-
async with db.session_context() as session:
|
|
1093
|
-
work_pool = await models.workers.read_work_pool(
|
|
1094
|
-
session=session,
|
|
1095
|
-
work_pool_id=work_pool_update_event.work_pool_id,
|
|
1096
|
-
)
|
|
1097
|
-
assert work_pool is not None
|
|
1098
|
-
await models.workers.emit_work_pool_updated_event(
|
|
1061
|
+
async with worker_channel_utils.messaging.ephemeral_subscription(
|
|
1062
|
+
worker_channel_utils.WORKER_CHANNEL_SNAPSHOT_TOPIC,
|
|
1063
|
+
) as consumer_kwargs:
|
|
1064
|
+
async with db.session_context(begin_transaction=True) as session:
|
|
1065
|
+
ready, work_pool_update_event = await _build_worker_ready_frame(
|
|
1099
1066
|
session=session,
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
)
|
|
1103
|
-
|
|
1104
|
-
await websocket.send_json(ready.model_dump(mode="json"))
|
|
1105
|
-
|
|
1106
|
-
while True:
|
|
1107
|
-
try:
|
|
1108
|
-
message = await websocket.receive_json()
|
|
1109
|
-
frame = validate_worker_channel_frame(message)
|
|
1110
|
-
except ValidationError:
|
|
1111
|
-
await _close_worker_channel(
|
|
1112
|
-
websocket, WorkerChannelCloseReason.PROTOCOL_ERROR
|
|
1113
|
-
)
|
|
1114
|
-
return
|
|
1115
|
-
except ValueError:
|
|
1116
|
-
await _close_worker_channel(
|
|
1117
|
-
websocket, WorkerChannelCloseReason.PROTOCOL_ERROR
|
|
1118
|
-
)
|
|
1119
|
-
return
|
|
1120
|
-
|
|
1121
|
-
if not isinstance(frame, WorkerHeartbeatFrame):
|
|
1122
|
-
await _close_worker_channel(
|
|
1123
|
-
websocket, WorkerChannelCloseReason.PROTOCOL_ERROR
|
|
1124
|
-
)
|
|
1125
|
-
return
|
|
1126
|
-
|
|
1127
|
-
if (
|
|
1128
|
-
frame.payload.consumer_id != hello.payload.consumer_id
|
|
1129
|
-
or frame.payload.worker_name != hello.payload.worker_name
|
|
1130
|
-
):
|
|
1131
|
-
await _close_worker_channel(
|
|
1132
|
-
websocket, WorkerChannelCloseReason.PROTOCOL_ERROR
|
|
1067
|
+
work_pool_name=work_pool_name,
|
|
1068
|
+
hello=hello,
|
|
1133
1069
|
)
|
|
1134
|
-
return
|
|
1135
1070
|
|
|
1136
|
-
|
|
1137
|
-
async with db.session_context(
|
|
1138
|
-
await
|
|
1071
|
+
if work_pool_update_event is not None:
|
|
1072
|
+
async with db.session_context() as session:
|
|
1073
|
+
work_pool = await models.workers.read_work_pool(
|
|
1074
|
+
session=session,
|
|
1075
|
+
work_pool_id=work_pool_update_event.work_pool_id,
|
|
1076
|
+
)
|
|
1077
|
+
assert work_pool is not None
|
|
1078
|
+
await models.workers.emit_work_pool_updated_event(
|
|
1139
1079
|
session=session,
|
|
1140
|
-
|
|
1141
|
-
|
|
1080
|
+
work_pool=work_pool,
|
|
1081
|
+
changed_fields=work_pool_update_event.changed_fields,
|
|
1082
|
+
)
|
|
1083
|
+
await worker_channel_utils.publish_snapshot_invalidation(
|
|
1084
|
+
worker_channel_utils.WorkerChannelSnapshotInvalidation(
|
|
1085
|
+
work_pool_id=work_pool_update_event.work_pool_id,
|
|
1086
|
+
reason="work_pool_updated",
|
|
1142
1087
|
)
|
|
1143
|
-
except Exception:
|
|
1144
|
-
logger.exception("Worker channel heartbeat persistence failed")
|
|
1145
|
-
await _close_worker_channel(
|
|
1146
|
-
websocket,
|
|
1147
|
-
WorkerChannelCloseReason.HEARTBEAT_PERSISTENCE_FAILED,
|
|
1148
1088
|
)
|
|
1149
|
-
|
|
1089
|
+
|
|
1090
|
+
connection = worker_channel_utils.WorkerChannelConnection(
|
|
1091
|
+
websocket=websocket,
|
|
1092
|
+
db=db,
|
|
1093
|
+
work_pool_name=work_pool_name,
|
|
1094
|
+
work_pool_id=ready.payload.initial_snapshot.work_pool.id,
|
|
1095
|
+
consumer_id=hello.payload.consumer_id,
|
|
1096
|
+
worker_name=hello.payload.worker_name,
|
|
1097
|
+
)
|
|
1098
|
+
await connection.run(ready, consumer_kwargs)
|
|
1150
1099
|
|
|
1151
1100
|
except WorkerChannelSetupError as exc:
|
|
1152
1101
|
logger.info("Worker channel setup failed: %s", exc.detail)
|
|
1153
|
-
await
|
|
1102
|
+
await worker_channel_utils.close_worker_channel(websocket, exc.close_reason)
|
|
1154
1103
|
except HTTPException as exc:
|
|
1155
1104
|
logger.info("Worker channel setup failed HTTP validation: %s", exc.detail)
|
|
1156
|
-
await
|
|
1105
|
+
await worker_channel_utils.close_worker_channel(
|
|
1106
|
+
websocket, WorkerChannelCloseReason.PROTOCOL_ERROR
|
|
1107
|
+
)
|
|
1157
1108
|
except subscriptions.NORMAL_DISCONNECT_EXCEPTIONS:
|
|
1158
1109
|
return
|
|
1159
1110
|
except Exception:
|
|
1160
1111
|
logger.exception("Worker channel setup failed due to a transient server error")
|
|
1161
|
-
await
|
|
1112
|
+
await worker_channel_utils.close_worker_channel(
|
|
1162
1113
|
websocket, WorkerChannelCloseReason.TRANSIENT_SERVER_ERROR
|
|
1163
1114
|
)
|
|
1164
1115
|
|
|
@@ -14,6 +14,7 @@ from pydantic_settings import (
|
|
|
14
14
|
EnvSettingsSource,
|
|
15
15
|
PydanticBaseSettingsSource,
|
|
16
16
|
)
|
|
17
|
+
from pydantic_settings.exceptions import SettingsError
|
|
17
18
|
from pydantic_settings.sources import (
|
|
18
19
|
ENV_FILE_SENTINEL,
|
|
19
20
|
ConfigFileSourceMixin,
|
|
@@ -230,7 +231,12 @@ class TomlConfigSettingsSourceBase(PydanticBaseSettingsSource, ConfigFileSourceM
|
|
|
230
231
|
self.toml_data: dict[str, Any] = {}
|
|
231
232
|
|
|
232
233
|
def _read_file(self, path: Path) -> dict[str, Any]:
|
|
233
|
-
|
|
234
|
+
try:
|
|
235
|
+
return _read_toml_file(path)
|
|
236
|
+
except tomllib.TOMLDecodeError as e:
|
|
237
|
+
raise SettingsError(
|
|
238
|
+
f"Failed to load Prefect settings from {path}: invalid TOML ({e})"
|
|
239
|
+
) from e
|
|
234
240
|
|
|
235
241
|
@staticmethod
|
|
236
242
|
def _field_is_dict_type(field: FieldInfo) -> bool:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/_launchers.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/bundles/execute.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/apply.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/sla/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/sla/client.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_experimental/sla/objects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/client.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/device_id.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/emit.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/enabled.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/events.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/notice.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/analytics/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/api.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/calls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/threads.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/concurrency/waiters.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/control_listener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/installation.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/integrations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/observability.py
RENAMED
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/apply.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/collections.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/diagnostics.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/manager.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/spec.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/plugins/startup.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/__init__.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/schemas.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/v1_schema.py
RENAMED
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/pydantic/v2_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{prefect_client-3.7.2.dev3 → prefect_client-3.7.2.dev5}/src/prefect/_internal/result_records.py
RENAMED
|
File without changes
|