pyncette.redis module

class pyncette.redis.RedisRepository(redis_client: redis.asyncio.client.Redis, **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.

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_scripts() → None[source]

Registers the Lua scripts used by the implementation ahead of time

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.redis.redis_repository(**kwargs) → AsyncIterator[pyncette.redis.RedisRepository][source]

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