//! Background Jobs (Apalis)
//!
//! This module contains background job definitions and handlers using Apalis.
//! Jobs are stored in Valkey/Redis and processed asynchronously.
//!
//! ## Job Types
//!
//! ### On-Demand Jobs (Redis-backed)
//! - `ProcessEventJob` - Process an event and create notifications
//! - `DeliverNotificationJob` - Deliver a notification via Email/SMS/In-App
//!
//! ### Scheduled Jobs (Cron-based)
//! - `EventCleanupJob` - Daily cleanup of old non-critical events
//! - `IncompleteWorkReminderJob` - Daily reminder about incomplete work
//! - `NightlyAssignmentsJob` - Daily notification of scheduled work

pub mod notifications;
pub mod scheduled;

pub use notifications::{
    DeliverNotificationJob, NotificationJobContext, ProcessEventJob,
    DELIVER_NOTIFICATION_QUEUE, PROCESS_EVENT_QUEUE,
};

pub use scheduled::{
    EventCleanupJob, EventCleanupResult,
    IncompleteWorkReminderJob, IncompleteWorkReminderResult,
    NightlyAssignmentsJob, NightlyAssignmentsResult,
};
