prefect-client 3.3.4.dev3__tar.gz → 3.3.5.dev2__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.3.4.dev3 → prefect_client-3.3.5.dev2}/PKG-INFO +1 -1
- prefect_client-3.3.5.dev2/src/prefect/_build_info.py +5 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/locking/memory.py +11 -9
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/results.py +9 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/deployments.py +1 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/states.py +2 -2
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/task_engine.py +12 -6
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/tasks.py +0 -5
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/transactions.py +345 -71
- prefect_client-3.3.4.dev3/src/prefect/_build_info.py +0 -5
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/.gitignore +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/LICENSE +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/README.md +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/pyproject.toml +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/.prefectignore +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/__main__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/bundles.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/lineage.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/sla/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/sla/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_experimental/sla/objects.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/_logging.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/deprecated.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/compatibility/migration.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/api.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/calls.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/cancellation.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/event_loop.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/inspection.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/primitives.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/services.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/threads.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/concurrency/waiters.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/integrations.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/schemas.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/pytz.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/retries.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/bases.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/fields.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/serializers.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_internal/schemas/validators.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_result_records.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_vendor/croniter/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_vendor/croniter/croniter.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/_waiters.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/agent.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/artifacts.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/automations.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/abstract.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/core.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/fields.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/notifications.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/redis.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/system.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/blocks/webhook.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/cache_policies.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/base.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/cloud.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/collections.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/constants.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_automations/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_deployments/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_flows/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_logs/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_variables/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/base.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/orchestration/routes.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/actions.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/filters.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/objects.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/responses.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/schedules.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/schemas/sorting.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/subscriptions.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/types/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/types/flexible_schedule_list.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/client/utilities.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/_asyncio.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/_events.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/asyncio.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/context.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/services.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/sync.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/_asyncio.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/_events.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/asyncio.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/context.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/services.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/concurrency/v1/sync.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/context.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/base.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/deployments.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/flow_runs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/runner.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/schedules.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/core.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/pull.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/deployments/steps/utility.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/docker/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/docker/docker_image.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/engine.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/actions.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/cli/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/cli/automations.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/clients.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/filters.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/related.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/automations.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/deployment_triggers.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/events.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/schemas/labelling.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/utilities.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/events/worker.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/exceptions.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/filesystems.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/flow_engine.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/flow_runs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/flows.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/futures.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/base.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/infrastructure/provisioners/modal.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/input/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/input/actions.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/input/run_input.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/locking/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/locking/filesystem.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/locking/protocol.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/configuration.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/filters.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/formatters.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/handlers.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/highlighters.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/loggers.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/logging/logging.yml +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/main.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/plugins.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/py.typed +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runner/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runner/runner.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runner/server.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runner/storage.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runner/submit.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runner/utils.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runtime/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runtime/deployment.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runtime/flow_run.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/runtime/task_run.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/schedules.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/serializers.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/admin.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/artifacts.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/automations.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_capabilities.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_documents.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_schemas.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/block_types.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/clients.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/collections.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/concurrency_limits.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/csrf_token.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/dependencies.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/events.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flow_run_states.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flow_runs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/flows.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/logs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/middleware.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/root.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/run_history.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/saved_searches.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/server.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/task_run_states.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/task_runs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/task_workers.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/templates.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/flow_runs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/flows.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/schemas.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/ui/task_runs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/validation.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/variables.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/work_queues.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/server/api/workers.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/base.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/constants.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/context.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/legacy.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/api.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/cli.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/client.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/cloud.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/deployments.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/experiments.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/flows.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/internal.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/logging.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/results.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/root.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/runner.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/api.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/database.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/deployments.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/ephemeral.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/events.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/root.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/services.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/tasks.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/server/ui.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/tasks.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/testing.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/models/worker.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/profiles.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/profiles.toml +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/settings/sources.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/task_runners.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/task_runs.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/task_worker.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/bootstrap.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/instrumentation.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/logging.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/processors.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/run_telemetry.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/telemetry/services.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/types/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/types/_datetime.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/types/entrypoint.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/_deprecated.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/_engine.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/_git.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/annotations.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/asyncutils.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/callables.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/collections.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/compat.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/context.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/dispatch.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/dockerutils.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/engine.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/filesystem.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/generics.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/hashing.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/importtools.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/math.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/names.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/processutils.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/pydantic.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/render_swagger.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/schema_tools/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/schema_tools/hydration.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/schema_tools/validation.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/services.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/slugify.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/templating.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/text.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/timeout.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/urls.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/utilities/visualization.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/variables.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/workers/__init__.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/workers/base.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/workers/block.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/workers/cloud.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/workers/process.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/workers/server.py +0 -0
- {prefect_client-3.3.4.dev3 → prefect_client-3.3.5.dev2}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,8 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
1
3
|
import asyncio
|
2
4
|
import threading
|
3
|
-
from typing import Any,
|
5
|
+
from typing import Any, TypedDict
|
4
6
|
|
5
7
|
from typing_extensions import Self
|
6
8
|
|
@@ -19,7 +21,7 @@ class _LockInfo(TypedDict):
|
|
19
21
|
|
20
22
|
holder: str
|
21
23
|
lock: threading.Lock
|
22
|
-
expiration_timer:
|
24
|
+
expiration_timer: threading.Timer | None
|
23
25
|
|
24
26
|
|
25
27
|
class MemoryLockManager(LockManager):
|
@@ -63,8 +65,8 @@ class MemoryLockManager(LockManager):
|
|
63
65
|
self,
|
64
66
|
key: str,
|
65
67
|
holder: str,
|
66
|
-
acquire_timeout:
|
67
|
-
hold_timeout:
|
68
|
+
acquire_timeout: float | None = None,
|
69
|
+
hold_timeout: float | None = None,
|
68
70
|
) -> bool:
|
69
71
|
with self._locks_dict_lock:
|
70
72
|
if key not in self._locks:
|
@@ -116,13 +118,13 @@ class MemoryLockManager(LockManager):
|
|
116
118
|
self,
|
117
119
|
key: str,
|
118
120
|
holder: str,
|
119
|
-
acquire_timeout:
|
120
|
-
hold_timeout:
|
121
|
+
acquire_timeout: float | None = None,
|
122
|
+
hold_timeout: float | None = None,
|
121
123
|
) -> bool:
|
122
124
|
with self._locks_dict_lock:
|
123
125
|
if key not in self._locks:
|
124
126
|
lock = threading.Lock()
|
125
|
-
|
127
|
+
lock.acquire()
|
126
128
|
expiration_timer = None
|
127
129
|
if hold_timeout is not None:
|
128
130
|
expiration_timer = threading.Timer(
|
@@ -192,7 +194,7 @@ class MemoryLockManager(LockManager):
|
|
192
194
|
and lock_info["holder"] == holder
|
193
195
|
)
|
194
196
|
|
195
|
-
def wait_for_lock(self, key: str, timeout:
|
197
|
+
def wait_for_lock(self, key: str, timeout: float | None = None) -> bool:
|
196
198
|
lock_info: _LockInfo | None = self._locks.get(key)
|
197
199
|
if lock_info is None:
|
198
200
|
return True
|
@@ -206,7 +208,7 @@ class MemoryLockManager(LockManager):
|
|
206
208
|
return lock_acquired
|
207
209
|
return True
|
208
210
|
|
209
|
-
async def await_for_lock(self, key: str, timeout:
|
211
|
+
async def await_for_lock(self, key: str, timeout: float | None = None) -> bool:
|
210
212
|
lock_info: _LockInfo | None = self._locks.get(key, None)
|
211
213
|
if lock_info is None:
|
212
214
|
return True
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
import asyncio
|
3
4
|
import inspect
|
4
5
|
import os
|
5
6
|
import socket
|
@@ -33,6 +34,7 @@ from typing_extensions import ParamSpec, Self
|
|
33
34
|
import prefect
|
34
35
|
import prefect.types._datetime
|
35
36
|
from prefect._internal.compatibility.async_dispatch import async_dispatch
|
37
|
+
from prefect._internal.concurrency.event_loop import get_running_loop
|
36
38
|
from prefect._result_records import R, ResultRecord, ResultRecordMetadata
|
37
39
|
from prefect.blocks.core import Block
|
38
40
|
from prefect.exceptions import (
|
@@ -475,10 +477,17 @@ class ResultStore(BaseModel):
|
|
475
477
|
Returns:
|
476
478
|
str: A unique identifier string.
|
477
479
|
"""
|
480
|
+
current_loop = get_running_loop()
|
478
481
|
hostname = socket.gethostname()
|
479
482
|
pid = os.getpid()
|
480
483
|
thread_name = threading.current_thread().name
|
481
484
|
thread_id = threading.get_ident()
|
485
|
+
if current_loop:
|
486
|
+
current_task = asyncio.current_task()
|
487
|
+
if current_task:
|
488
|
+
# include the task id to ensure uniqueness because there might be
|
489
|
+
# multiple tasks running in the same thread
|
490
|
+
return f"{hostname}:{pid}:{thread_id}:{thread_name}:{id(current_task)}"
|
482
491
|
return f"{hostname}:{pid}:{thread_id}:{thread_name}"
|
483
492
|
|
484
493
|
@sync_compatible
|
@@ -776,7 +776,7 @@ def AwaitingRetry(
|
|
776
776
|
"""Convenience function for creating `AwaitingRetry` states.
|
777
777
|
|
778
778
|
Returns:
|
779
|
-
State:
|
779
|
+
State: an AwaitingRetry state
|
780
780
|
"""
|
781
781
|
return Scheduled(
|
782
782
|
cls=cls, scheduled_time=scheduled_time, name="AwaitingRetry", **kwargs
|
@@ -791,7 +791,7 @@ def AwaitingConcurrencySlot(
|
|
791
791
|
"""Convenience function for creating `AwaitingConcurrencySlot` states.
|
792
792
|
|
793
793
|
Returns:
|
794
|
-
State:
|
794
|
+
State: an AwaitingConcurrencySlot state
|
795
795
|
"""
|
796
796
|
return Scheduled(
|
797
797
|
cls=cls, scheduled_time=scheduled_time, name="AwaitingConcurrencySlot", **kwargs
|
@@ -81,7 +81,13 @@ from prefect.states import (
|
|
81
81
|
return_value_to_state,
|
82
82
|
)
|
83
83
|
from prefect.telemetry.run_telemetry import RunTelemetry
|
84
|
-
from prefect.transactions import
|
84
|
+
from prefect.transactions import (
|
85
|
+
AsyncTransaction,
|
86
|
+
IsolationLevel,
|
87
|
+
Transaction,
|
88
|
+
atransaction,
|
89
|
+
transaction,
|
90
|
+
)
|
85
91
|
from prefect.utilities._engine import get_hook_name
|
86
92
|
from prefect.utilities.annotations import NotSet
|
87
93
|
from prefect.utilities.asyncutils import run_coro_as_sync
|
@@ -1020,7 +1026,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
1020
1026
|
# otherwise, return the exception
|
1021
1027
|
return self._raised
|
1022
1028
|
|
1023
|
-
async def handle_success(self, result: R, transaction:
|
1029
|
+
async def handle_success(self, result: R, transaction: AsyncTransaction) -> R:
|
1024
1030
|
if self.task.cache_expiration is not None:
|
1025
1031
|
expiration = prefect.types._datetime.now("UTC") + self.task.cache_expiration
|
1026
1032
|
else:
|
@@ -1302,7 +1308,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
1302
1308
|
await self.call_hooks()
|
1303
1309
|
|
1304
1310
|
@asynccontextmanager
|
1305
|
-
async def transaction_context(self) -> AsyncGenerator[
|
1311
|
+
async def transaction_context(self) -> AsyncGenerator[AsyncTransaction, None]:
|
1306
1312
|
# refresh cache setting is now repurposes as overwrite transaction record
|
1307
1313
|
overwrite = (
|
1308
1314
|
self.task.refresh_cache
|
@@ -1317,7 +1323,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
1317
1323
|
else None
|
1318
1324
|
)
|
1319
1325
|
|
1320
|
-
with
|
1326
|
+
async with atransaction(
|
1321
1327
|
key=self.compute_transaction_key(),
|
1322
1328
|
store=get_result_store(),
|
1323
1329
|
overwrite=overwrite,
|
@@ -1349,7 +1355,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
1349
1355
|
await self.handle_exception(exc)
|
1350
1356
|
|
1351
1357
|
async def call_task_fn(
|
1352
|
-
self, transaction:
|
1358
|
+
self, transaction: AsyncTransaction
|
1353
1359
|
) -> Union[R, Coroutine[Any, Any, R]]:
|
1354
1360
|
"""
|
1355
1361
|
Convenience method to call the task function. Returns a coroutine if the
|
@@ -1357,7 +1363,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
|
|
1357
1363
|
"""
|
1358
1364
|
parameters = self.parameters or {}
|
1359
1365
|
if transaction.is_committed():
|
1360
|
-
result = transaction.read()
|
1366
|
+
result = await transaction.read()
|
1361
1367
|
else:
|
1362
1368
|
result = await call_with_parameters(self.task.fn, parameters)
|
1363
1369
|
await self.handle_success(result, transaction=transaction)
|
@@ -764,11 +764,6 @@ class Task(Generic[P, R]):
|
|
764
764
|
def on_rollback(
|
765
765
|
self, fn: Callable[["Transaction"], None]
|
766
766
|
) -> Callable[["Transaction"], None]:
|
767
|
-
if asyncio.iscoroutinefunction(fn):
|
768
|
-
raise ValueError(
|
769
|
-
"Asynchronous rollback hooks are not yet supported. Rollback hooks must be synchronous functions."
|
770
|
-
)
|
771
|
-
|
772
767
|
self.on_rollback_hooks.append(fn)
|
773
768
|
return fn
|
774
769
|
|