pub mod admin;
pub mod cron;
pub mod error;
pub mod insert;
pub mod job;
pub mod kind;
pub mod migrations;
pub mod unique;
pub use admin::{
CallbackConfig, DefaultAction, ListJobsFilter, QueueRuntimeConfigSnapshot, QueueRuntimeMode,
QueueRuntimeSnapshot, QueueRuntimeSummary, QueueStats, RateLimitSnapshot, ResolveOutcome,
RuntimeInstance, RuntimeOverview, RuntimeSnapshotInput, StateTimeseriesBucket,
};
pub use cron::{CronJobRow, PeriodicJob, PeriodicJobBuilder};
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 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)
}
}