saq.types#

Types

Module Contents#

class saq.types.Context[source]#

Bases: TypedDict

Task context.

Extra context fields are allowed.

worker: typing_extensions.Required[saq.worker.Worker][source]#

Worker currently executing the task

job: saq.job.Job[source]#

Job() instance of the task

queue: saq.queue.Queue[source]#

Queue the task is running on

class saq.types.JobTaskContext[source]#

Bases: TypedDict

Jobs Task Context

task: asyncio.Task[Any][source]#

asyncio Task of the Job

aborted: bool[source]#

Did the task abort?

class saq.types.QueueInfo[source]#

Bases: TypedDict

Queue Info

workers: dict[str, dict[str, Any]][source]#

Worker information

name: str[source]#

Queue name

queued: int[source]#

Number of jobs currently in the queue

active: int[source]#

Number of jobs currently active

jobs: list[dict[str, Any]][source]#

A truncated list containing the jobs that are scheduled to execute soonest

class saq.types.QueueStats[source]#

Bases: TypedDict

Queue Stats

complete: int[source]#

Number of complete tasks

failed: int[source]#

Number of failed tasks

retried: int[source]#

Number of retries

aborted: int[source]#

Number of aborted tasks

uptime: int[source]#

Queue uptime in milliseconds

class saq.types.TimersDict[source]#

Bases: TypedDict

Timers Dictionary

schedule: int[source]#

How often we poll to schedule jobs in seconds (default 1)

stats: int[source]#

How often to update stats in seconds (default 10)

sweep: int[source]#

How often to clean up stuck jobs in seconds (default 60)

abort: int[source]#

How often to check if a job is aborted in seconds (default 1)

class saq.types.PartialTimersDict[source]#

Bases: TimersDict

For argument to Worker, all keys are not required