pyncette.mysql module

class pyncette.mysql.MySQLRepository(pool: aiomysql.pool.Pool, **kwargs)[source]

Bases: pyncette.repository.Repository

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.

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

pyncette.mysql.mysql_repository(*, mysql_host: str, mysql_user: str, mysql_database: str, mysql_password: Optional[str] = None, mysql_port: int = 3306, **kwargs) → AsyncIterator[pyncette.mysql.MySQLRepository][source]

Factory context manager that initializes the connection to MySQL