pyncette.repository module

class pyncette.repository.Repository[source]

Bases: abc.ABC

Abstract base class representing a store for Pyncette tasks

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: pyncette.task.Task, lease: NewType.<locals>.new_type) → Optional[NewType.<locals>.new_type][source]

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

poll_dynamic_task(utc_now: datetime.datetime, task: pyncette.task.Task, continuation_token: Optional[NewType.<locals>.new_type] = None) → pyncette.model.QueryResponse[source]

Queries the dynamic tasks for execution

poll_task(utc_now: datetime.datetime, task: pyncette.task.Task, lease: Optional[NewType.<locals>.new_type] = None) → pyncette.model.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

class pyncette.repository.RepositoryFactory(*args, **kwargs)[source]

Bases: typing.Protocol

A factory context manager for creating a repository