Skip to main content

Crate awa

Crate awa 

Source
Expand description

Awa — Postgres-native background job queue for Rust and Python.

This is the facade crate that re-exports the main types from awa-model, awa-macros, and awa-worker for ergonomic usage.

Re-exports§

pub use awa_model as model;
pub use awa_worker as worker;

Modules§

adapter
Stable building blocks for external database adapters.
admin
bridge
Transactional enqueue for non-sqlx Postgres stacks.
callback_contract
HTTP callback ingress contract — wire types, signing, header names.
insert
migrations
storage

Structs§

CallbackConfig
Configuration for CEL callback expressions.
CallbackGuard
Proof that this job registered an external callback in the database.
Client
The Awa worker client — manages dispatchers, heartbeat, and maintenance.
ClientBuilder
Builder for the Awa worker client.
DlqMetadata
DlqRow
EnqueueRequest
Description of a follow-up job to enqueue when an on_*_enqueue spec fires. Carries the follow-up’s JobArgs and the InsertOpts applied to the INSERT. For the common “default opts” case, users can return the JobArgs value directly from their closure — EnqueueRequest::from(args) is invoked automatically.
HealthCheck
Health check result.
InsertOpts
Options for inserting a job.
InsertParams
Parameters for bulk insert.
JobContext
Context passed to worker handlers during job execution.
JobKindDescriptor
JobRow
A row from the awa.jobs table.
ListDlqFilter
PartitionedQueue
A deterministic set of physical queues for one hot logical queue.
PeriodicJob
A periodic job schedule definition.
PeriodicJobBuilder
Builder for PeriodicJob.
PreparedJobInsert
Pre-computed values for a single job row, ready to bind into any driver.
ProgressState
Mutable progress buffer shared between handler and heartbeat service.
QueueConfig
Configuration for a single queue.
QueueDescriptor
Code-declared, operator-facing descriptor for a queue.
QueueHealth
Per-queue health.
QueueStorage
Segmented queue storage backend.
QueueStorageConfig
RateLimit
Rate limit configuration for a queue.
RetentionPolicy
Per-queue or global retention policy for completed and failed/cancelled jobs.
RetryFromDlqOpts
StorageStatus
UniqueOpts
Uniqueness constraint options.

Enums§

AwaError
BuildError
Errors returned when building a worker client.
CronMissedFirePolicy
How AWA handles cron fires missed because evaluation was delayed.
DefaultAction
What resolve_callback should do if no CEL conditions match or no expressions are configured.
JobError
Error type for job handlers — any error is retryable unless it’s terminal.
JobEvent
Typed lifecycle event for a specific job argument type.
JobResult
Result of executing a job handler.
JobState
Job states in the lifecycle state machine.
PartitionedQueueError
Errors returned when constructing a PartitionedQueue.
QueueCapacity
Capacity information for a queue, mode-dependent.
RescueReason
Why maintenance rescued the job.
ResolveOutcome
Outcome of resolve_callback.
StorageCapability
UntypedJobEvent
Untyped lifecycle event keyed only by job kind.

Traits§

JobArgs
Trait for typed job arguments.
Worker
Worker trait — implement this for each job type.

Functions§

insert
Insert a job with default options.
insert_many
Insert multiple jobs in a single statement.
insert_many_copy
Insert many jobs through the compatibility COPY surface.
insert_many_copy_from_pool
Convenience wrapper that acquires a connection from the pool.
insert_with
Insert a job with custom options.
map_sqlx_error
The single Rust-side mapping from a raw sqlx::Error to an AwaError, translating a Postgres unique violation (SQLSTATE 23505) into AwaError::UniqueConflict with the offending constraint name.
partition_for_ordering_key
Deterministically map an ordering key to a partition in [0, partitions).
partition_hash64
Portable partition-routing hash over raw ordering-key bytes.
prepare_job_insert
Prepare a single job insert from typed job args and options.
prepare_raw_job_insert
Prepare a single job insert from raw kind, JSON args, and options.

Type Aliases§

CallbackToken

Derive Macros§

JobArgs
Derive macro for job argument types.