ORIONIS API REFERENCE

THE ORIONIS API

Build with clarity.

Explore the building blocks of an async-first Python framework. Every module, class, and method — connected, searchable, and ready to build with.

class documentation

Persist delayed jobs and fenced reservations through atomic Lua scripts.

Method __init__ Configure a lazy Redis transport and queue key namespace.
Async Method _executeScript Execute one atomic Redis transition and translate transport errors.
Method _keys Return colocated keys for one logical queue.
Async Method clear Remove every job and reservation in one queue atomically.
Async Method close Close the transport only when this driver owns its Redis client.
Async Method delete Acknowledge a currently owned reservation atomically.
Async Method push Store an envelope and its availability atomically.
Async Method release Release a currently owned reservation with optional delay.
Async Method reserve Claim one due job in queue priority order.
Async Method size Count ready, delayed, and reserved jobs in one queue.
Class Variable __slots__ Undocumented
Instance Variable _client Undocumented
Instance Variable _owns_client Undocumented
Instance Variable _prefix Undocumented
def __init__(self, config: RedisConfig | None = None, *, client: Redis | None = None): (source)

Configure a lazy Redis transport and queue key namespace.

Parameters
config:RedisConfig | None, optionalValidated host, port, database, password, and namespace settings. Use the configuration entity's environment defaults when omitted.
client:Redis or None, optionalExternally owned async client, primarily for explicit test fakes.
Returns
NoneInitialize a lazy transport without opening network connections.
Raises
QueueStorageErrorIf the configuration type or queue namespace is invalid.
TypeErrorIf an environment default has an invalid type.
ValueErrorIf an environment default fails its configuration validation.
async def _executeScript(self, script: str, keys: tuple[str, ...], arguments: tuple[str | bytes | float, ...]) -> object: (source)

Execute one atomic Redis transition and translate transport errors.

Parameters
script:strFramework-owned Lua transition source.
keys:tuple of strRedis keys touched by the transition.
arguments:tupleBound transition arguments.
Returns
objectRedis reply supplied by the executed script.
Raises
QueueStorageErrorIf Redis cannot perform the transition.
def _keys(self, queue: str) -> tuple[str, ...]: (source)

Return colocated keys for one logical queue.

Parameters
queue:strLogical queue name used as a Redis hash tag.
Returns
tuple of strReady, reserved, envelope, attempts, and token keys.
async def clear(self, queue: str) -> int: (source)

Remove every job and reservation in one queue atomically.

Parameters
queue:strLogical queue whose jobs are removed.
Returns
intNumber of removed jobs, including active reservations.
async def close(self): (source)

Close the transport only when this driver owns its Redis client.

Returns
NoneRelease driver-owned pooled Redis connections.
async def delete(self, reserved: ReservedJob) -> bool: (source)

Acknowledge a currently owned reservation atomically.

Parameters
reserved:ReservedJobReservation owned by the acknowledging worker.
Returns
boolWhether an owned, unexpired reservation was removed.
async def push(self, envelope: JobEnvelope, delay: float = 0) -> str: (source)

Store an envelope and its availability atomically.

Parameters
envelope:JobEnvelopeImmutable serialized job configuration and state.
delay:float, optionalSeconds before the job becomes available.
Returns
strPersisted job identifier.
Raises
QueueStorageErrorIf the identifier already exists or persistence fails.
async def release(self, reserved: ReservedJob, delay: float = 0) -> bool: (source)

Release a currently owned reservation with optional delay.

Parameters
reserved:ReservedJobReservation owned by the releasing worker.
delay:float, optionalSeconds before the job becomes available again.
Returns
boolWhether an owned, unexpired reservation was released.
async def reserve(self, queues: tuple[str, ...], retry_after: float) -> ReservedJob | None: (source)

Claim one due job in queue priority order.

Parameters
queues:tuple of strLogical queues ordered from highest to lowest priority.
retry_after:floatLease duration in seconds.
Returns
ReservedJob or NoneAcquired reservation, or no available job.
Raises
QueueStorageErrorIf Redis returns invalid reservation data.
async def size(self, queue: str) -> int: (source)

Count ready, delayed, and reserved jobs in one queue.

Parameters
queue:strLogical queue whose jobs are counted.
Returns
intTotal persisted jobs in the queue.

Undocumented

_owns_client = (source)

Undocumented

Undocumented