pyncette.dynamodb module

class pyncette.dynamodb.DynamoDBRepository(dynamo_resource: Any, skip_table_create: bool, partition_prefix: str, **kwargs)[source]

Bases: pyncette.repository.Repository

Redis-backed store for Pyncete task execution data

commit_task(utc_now: datetime.datetime, task: pyncette.task.Task, lease: NewType.<locals>.new_type) → None[source]

Commits the task, which signals a successful run.

extend_lease(utc_now: datetime.datetime, task: Task, lease: Lease) → Lease | None[source]

Extends the lease on the task. Returns the new lease if lease was still valid.

initialize() → None[source]
poll_dynamic_task(utc_now: datetime.datetime, task: Task, continuation_token: ContinuationToken | None = None) → QueryResponse[source]

Queries the dynamic tasks for execution

poll_task(utc_now: datetime.datetime, task: Task, lease: Lease | None = None) → PollResponse[source]

Polls the task to determine whether it is ready for execution

register_task(utc_now: datetime.datetime, task: pyncette.task.Task) → None[source]

Registers a dynamic task

unlock_task(utc_now: datetime.datetime, task: pyncette.task.Task, lease: NewType.<locals>.new_type) → None[source]

Unlocks the task, making it eligible for retries in case execution failed.

unregister_task(utc_now: datetime.datetime, task: pyncette.task.Task) → None[source]

Deregisters a dynamic task implementation

pyncette.dynamodb.dynamodb_repository(*, dynamodb_endpoint: str | None = None, dynamodb_region_name: str | None = None, dynamodb_skip_table_create: bool = False, dynamodb_partition_prefix: str = '', **kwargs) → AsyncIterator[DynamoDBRepository][source]

Factory context manager for Redis repository that initializes the connection to Redis