pub mod adapter;
pub mod admin;
pub mod bridge;
pub mod cron;
pub mod dlq;
pub mod error;
pub mod insert;
pub mod job;
pub mod kind;
pub mod migrations;
pub mod queue_storage;
pub mod storage;
pub mod unique;
pub use adapter::postgres::{prepare_job_insert, prepare_raw_job_insert, PreparedJobInsert};
pub use admin::{
CallbackConfig, DefaultAction, JobKindDescriptor, JobKindOverview, ListJobsFilter,
QueueDescriptor, QueueOverview, QueueRuntimeConfigSnapshot, QueueRuntimeMode,
QueueRuntimeSnapshot, QueueRuntimeSummary, RateLimitSnapshot, ResolveOutcome, RuntimeInstance,
RuntimeOverview, RuntimeSnapshotInput, StateTimeseriesBucket, StorageCapability,
};
#[deprecated(since = "0.5.4", note = "use `QueueOverview` instead")]
pub type QueueStats = QueueOverview;
pub use cron::{CronJobRow, CronMissedFirePolicy, PeriodicJob, PeriodicJobBuilder};
pub use dlq::{DlqMetadata, DlqRow, ListDlqFilter, RetryFromDlqOpts};
pub use error::AwaError;
pub use insert::{insert, insert_many, insert_many_copy, insert_many_copy_from_pool, insert_with};
pub use job::{InsertOpts, InsertParams, JobRow, JobState, UniqueOpts};
pub use queue_storage::{
ClaimedEntry, ClaimedRuntimeJob, PruneOutcome, QueueCounts, QueueStorage, QueueStorageConfig,
RotateOutcome, SkipReason,
};
pub use storage::StorageStatus;
pub use awa_macros::JobArgs;
pub trait JobArgs: serde::Serialize {
fn kind() -> &'static str
where
Self: Sized;
fn kind_str(&self) -> &'static str
where
Self: Sized,
{
Self::kind()
}
fn to_args(&self) -> Result<serde_json::Value, serde_json::Error> {
serde_json::to_value(self)
}
}