Skip to main content

sockudo_queue/
lib.rs

1#[cfg(feature = "google-pubsub")]
2pub mod google_pubsub_queue_manager;
3#[cfg(feature = "iggy")]
4pub mod iggy_queue_manager;
5#[cfg(feature = "kafka")]
6pub mod kafka_queue_manager;
7pub mod manager;
8pub mod memory_queue_manager;
9#[cfg(feature = "nats")]
10pub mod nats_queue_manager;
11#[cfg(feature = "pulsar")]
12pub mod pulsar_queue_manager;
13#[cfg(feature = "rabbitmq")]
14pub mod rabbitmq_queue_manager;
15#[cfg(feature = "redis-cluster")]
16pub mod redis_cluster_queue_manager;
17#[cfg(feature = "redis")]
18pub mod redis_queue_manager;
19#[cfg(feature = "sns")]
20pub mod sns_queue_manager;
21#[cfg(feature = "sqs")]
22pub mod sqs_queue_manager;
23
24#[cfg(feature = "google-pubsub")]
25pub use google_pubsub_queue_manager::GooglePubSubQueueManager;
26#[cfg(feature = "iggy")]
27pub use iggy_queue_manager::IggyQueueManager;
28#[cfg(feature = "kafka")]
29pub use kafka_queue_manager::KafkaQueueManager;
30pub use manager::{QueueManager, QueueManagerFactory};
31pub use memory_queue_manager::MemoryQueueManager;
32#[cfg(feature = "nats")]
33pub use nats_queue_manager::NatsJetStreamQueueManager;
34#[cfg(feature = "pulsar")]
35pub use pulsar_queue_manager::PulsarQueueManager;
36#[cfg(feature = "rabbitmq")]
37pub use rabbitmq_queue_manager::RabbitMqQueueManager;
38#[cfg(feature = "redis-cluster")]
39pub use redis_cluster_queue_manager::RedisClusterQueueManager;
40#[cfg(feature = "redis")]
41pub use redis_queue_manager::RedisQueueManager;
42#[cfg(feature = "sns")]
43pub use sns_queue_manager::SnsQueueManager;
44#[cfg(feature = "sqs")]
45pub use sqs_queue_manager::SqsQueueManager;
46
47use sockudo_core::error::Result;
48use sockudo_core::webhook_types::JobData;
49use std::future::Future;
50use std::pin::Pin;
51use std::sync::Arc;
52
53/// Type alias for the Arc'd async job processor callback used across queue managers
54pub(crate) type ArcJobProcessorFn = Arc<
55    Box<
56        dyn Fn(JobData) -> Pin<Box<dyn Future<Output = Result<()>> + Send>> + Send + Sync + 'static,
57    >,
58>;