1pub mod admin;
2pub mod bridge;
3pub mod cron;
4pub mod error;
5pub mod insert;
6pub mod job;
7pub mod kind;
8pub mod migrations;
9pub mod storage;
10pub mod unique;
11
12pub use admin::{
14 CallbackConfig, DefaultAction, JobKindDescriptor, JobKindOverview, ListJobsFilter,
15 QueueDescriptor, QueueOverview, QueueRuntimeConfigSnapshot, QueueRuntimeMode,
16 QueueRuntimeSnapshot, QueueRuntimeSummary, RateLimitSnapshot, ResolveOutcome, RuntimeInstance,
17 RuntimeOverview, RuntimeSnapshotInput, StateTimeseriesBucket, StorageCapability,
18};
19
20#[deprecated(since = "0.5.4", note = "use `QueueOverview` instead")]
25pub type QueueStats = QueueOverview;
26pub use cron::{CronJobRow, PeriodicJob, PeriodicJobBuilder};
27pub use error::AwaError;
28pub use insert::{insert, insert_many, insert_many_copy, insert_many_copy_from_pool, insert_with};
29pub use job::{InsertOpts, InsertParams, JobRow, JobState, UniqueOpts};
30pub use storage::StorageStatus;
31
32pub use awa_macros::JobArgs;
34
35pub trait JobArgs: serde::Serialize {
41 fn kind() -> &'static str
43 where
44 Self: Sized;
45
46 fn kind_str(&self) -> &'static str
48 where
49 Self: Sized,
50 {
51 Self::kind()
52 }
53
54 fn to_args(&self) -> Result<serde_json::Value, serde_json::Error> {
56 serde_json::to_value(self)
57 }
58}