1pub mod adapter;
2pub mod admin;
3pub mod batch_operations;
4pub mod bridge;
5pub mod callback_contract;
6pub mod cron;
7pub mod dlq;
8pub mod error;
9pub mod insert;
10pub mod job;
11pub mod kind;
12pub mod migrations;
13pub mod partitioned_queue;
14pub mod queue_storage;
15pub mod storage;
16pub mod unique;
17
18pub use adapter::postgres::{prepare_job_insert, prepare_raw_job_insert, PreparedJobInsert};
20pub use admin::{
21 CallbackConfig, DefaultAction, JobKindDescriptor, JobKindOverview, ListJobsFilter,
22 QueueDescriptor, QueueOverview, QueueRuntimeConfigSnapshot, QueueRuntimeMode,
23 QueueRuntimeSnapshot, QueueRuntimeSummary, RateLimitSnapshot, ResolveOutcome,
24 RetryFailedOutcome, RuntimeInstance, RuntimeOverview, RuntimeSnapshotInput,
25 StateTimeseriesBucket, StorageCapability,
26};
27pub use batch_operations::{
28 BatchOperation, BatchOperationFilter, BatchOperationKind, BatchOperationPreview,
29 BatchOperationSpec, BatchOperationState, ListBatchOperationsFilter, SubmitBatchOperation,
30};
31
32#[deprecated(since = "0.5.4", note = "use `QueueOverview` instead")]
37pub type QueueStats = QueueOverview;
38pub use cron::{CronJobRow, CronMissedFirePolicy, PeriodicJob, PeriodicJobBuilder};
39pub use dlq::{DlqMetadata, DlqRow, ListDlqFilter, RetryFromDlqOpts};
40pub use error::{map_sqlx_error, AwaError};
41pub use insert::{insert, insert_many, insert_many_copy, insert_many_copy_from_pool, insert_with};
42pub use job::{InsertOpts, InsertParams, JobRow, JobState, UniqueOpts};
43pub use partitioned_queue::{
44 partition_for_ordering_key, partition_hash64, PartitionedQueue, PartitionedQueueError,
45};
46pub use queue_storage::{
47 ClaimedEntry, ClaimedRuntimeJob, PruneOutcome, QueueCounts, QueueStorage, QueueStorageConfig,
48 RotateOutcome, SkipReason, TerminalDeltaRollupOutcome,
49};
50pub use storage::StorageStatus;
51
52pub use awa_macros::JobArgs;
54
55pub trait JobArgs: serde::Serialize {
61 fn kind() -> &'static str
63 where
64 Self: Sized;
65
66 fn kind_str(&self) -> &'static str
68 where
69 Self: Sized,
70 {
71 Self::kind()
72 }
73
74 fn to_args(&self) -> Result<serde_json::Value, serde_json::Error> {
76 serde_json::to_value(self)
77 }
78}