smithyq

Crates.iosmithyq
lib.rssmithyq
version0.1.2
created_at2025-05-27 19:46:15.746358+00
updated_at2025-05-29 19:27:16.000099+00
descriptionA high-performance async task worker library for Rust - forge your tasks with type safety
homepagehttps://github.com/AndreaBellomia/smithyq
repositoryhttps://github.com/AndreaBellomia/smithyq
max_upload_size
id1691613
size251,637
Andrea Bellomia (AndreaBellomia)

documentation

https://docs.rs/smithyq

README

🔨 SmithyQ

Forge your tasks with type safety

SmithyQ is a high-performance async task worker library for Rust that brings the power of compile-time type safety to distributed task processing.

Crates.io Documentation License Build Status

🚀 Features

  • 🔒 Type-Safe: Compile-time verification of task payloads and return types
  • ⚡ High Performance: Built on Tokio for maximum async performance
  • 🎯 Auto-Registration: Automatic task registration with macros
  • 🔄 Multiple Backends: In-memory, Redis, and PostgreSQL queue support
  • 📊 Observability: Built-in metrics, tracing, and monitoring
  • 🛡️ Fault Tolerant: Graceful shutdown, retry logic, and error handling
  • 📅 Scheduling: Support for delayed and recurring tasks

📦 Installation

Add SmithyQ to your Cargo.toml:

[dependencies]
smithyq = "0.1"

# For Redis queue backend
smithyq = { version = "0.1", features = ["redis-queue"] }

# For PostgreSQL queue backend  
smithyq = { version = "0.1", features = ["postgres-queue"] }

# For all features
smithyq = { version = "0.1", features = ["full"] }

🛣️ Roadmap - Upcoming Features

📋 Queue Backends

  • Redis Queue: Complete Redis backend implementation for distributed queue management
  • RabbitMQ Queue: Support for RabbitMQ as backend for robust and scalable messaging
  • AWS SQS: Integration with Amazon Simple Queue Service for cloud-native deployments

🔧 Middleware & Extensibility

  • Tower Integration: Integration with Tower framework for composable middleware
    • Logging middleware
    • Rate limiting
    • Authentication/Authorization
    • Request/Response transformation
    • Circuit breaker pattern

🎯 Advanced Features

  • Dead Letter Queue: Automatic handling of failed tasks
  • Task Prioritization: Priority system for task execution
  • Batch Processing: Process tasks in batches for improved efficiency
  • Health Checks: Endpoints for worker status monitoring

📊 Monitoring & Observability

  • Prometheus Metrics: Export metrics in Prometheus format
  • OpenTelemetry: Full support for distributed tracing
  • Dashboard: Web interface for real-time monitoring
Commit count: 14

cargo fmt