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")))]
38pub use crate::{inventory, proc_register_task as register_task, AutoRegisterTask};
39
40// Manual task registration macros (always available)
41pub use crate::{manual_register_task, register_task_with_name, register_tasks};
42
43// Date/time handling for scheduling
44pub use chrono::{DateTime, Duration, Utc};
45
46// UUID handling for task IDs
47pub use uuid::Uuid;
48
49#[cfg(feature = "tracing")]
50pub use crate::tracing_utils::{
51    trace_queue_operation, trace_task_error, trace_task_lifecycle_event, trace_worker_operation,
52    PerformanceTracker, QueuePerformanceMetrics, TaskLifecycleEvent, TaskPerformanceMetrics,
53    WorkerPerformanceMetrics,
54};
55
56#[cfg(feature = "config")]
57pub use crate::config::*;