rust_task_queue/
prelude.rs

1//! Convenience re-exports for common types and traits
2//!
3//! This module contains the most commonly used items from the rust-task-queue crate.
4//! Users can import everything they need with `use rust_task_queue::prelude::*;`
5
6// Core types and traits
7pub use crate::{
8    AutoScaler, AutoScalerConfig, QueueManager, QueueMetrics, RedisBroker, ScalingAction, Task,
9    TaskId, TaskMetadata, TaskPriority, TaskQueue, TaskQueueBuilder, TaskQueueError, TaskRegistry,
10    TaskResult, TaskScheduler, TaskWrapper, Worker,
11};
12
13// Configuration types
14pub use crate::{AutoRegisterConfig, ConfigBuilder, RedisConfig, SchedulerConfig, TaskQueueConfig};
15
16// Actix Web configuration (when feature is enabled)
17#[cfg(feature = "actix-integration")]
18pub use crate::ActixConfig;
19
20#[cfg(feature = "actix-integration")]
21pub use crate::actix::{
22    auto_configure_task_queue, configure_task_queue_routes, configure_task_queue_routes_auto,
23    create_auto_registered_task_queue, create_task_queue_from_config,
24};
25
26// Async trait for Task implementations
27pub use async_trait::async_trait;
28
29// MessagePack serialization (replaces JSON)
30pub use rmp_serde;
31
32// Common traits for serialization
33pub use serde::{Deserialize, Serialize};
34
35// Automatic task registration (when feature is enabled)
36#[cfg(feature = "auto-register")]
37#[cfg_attr(docsrs, doc(cfg(feature = "auto-register")))]
38// pub use crate::{inventory, proc_register_task as register_task, AutoRegisterTask};
39pub use crate::inventory;
40
41// Manual task registration macros (always available)
42pub use crate::{manual_register_task, register_task_with_name, register_tasks};
43
44// Date/time handling for scheduling
45pub use chrono::{DateTime, Duration, Utc};
46
47// UUID handling for task IDs
48pub use uuid::Uuid;
49
50#[cfg(feature = "tracing")]
51pub use crate::tracing_utils::{
52    trace_queue_operation, trace_task_error, trace_task_lifecycle_event, trace_worker_operation,
53    PerformanceTracker, QueuePerformanceMetrics, TaskLifecycleEvent, TaskPerformanceMetrics,
54    WorkerPerformanceMetrics,
55};
56
57#[cfg(feature = "config-support")]
58pub use crate::config::*;