Crate celers_broker_sql

Crate celers_broker_sql 

Source
Expand description

MySQL broker implementation for CeleRS

This broker uses MySQL with FOR UPDATE SKIP LOCKED for reliable, distributed task queue processing. It supports:

  • Priority queues
  • Dead Letter Queue (DLQ) for permanently failed tasks
  • Delayed task execution (enqueue_at, enqueue_after)
  • Prometheus metrics (optional metrics feature)
  • Batch enqueue/dequeue/ack operations
  • Transaction safety
  • Distributed workers without contention
  • Queue pause/resume functionality
  • DLQ inspection and requeue
  • Task status inspection
  • Database health checks
  • Automatic task archiving

Modules§

monitoring
MySQL broker monitoring utilities
utilities
MySQL broker utility functions

Structs§

BatchResultInput
Batch result storage input
CircuitBreakerConfig
Circuit breaker configuration
CircuitBreakerStats
Circuit breaker statistics
ConnectionDiagnostics
Connection pool diagnostics
DlqStatistics
Dead Letter Queue statistics
DlqTaskInfo
Information about a dead-lettered task
DlqTaskStats
DLQ statistics per task name
HealthStatus
Database health status
HookContext
Context passed to lifecycle hooks
IdempotencyConfig
Idempotency configuration
IdempotencyRecord
Idempotency key information for duplicate prevention
IdempotencyStats
Idempotency statistics per task type
IndexStats
Index usage statistics
MigrationInfo
Migration information
MigrationVerification
Migration verification report
MysqlBroker
MySQL-based broker implementation using SKIP LOCKED
PerformanceMetrics
Performance metrics snapshot
PoolConfig
Connection pool configuration
PriorityQueueStats
Priority queue statistics
QueryPerformanceProfile
Query performance profile
QueryPlan
Query execution plan information
QueryStats
Query performance statistics
QueueHealth
Queue health summary combining multiple metrics
QueueSaturation
Queue saturation monitoring
QueueStatistics
Queue statistics
RateLimit
Rate limit configuration per task type
RateLimitStatus
Rate limit status showing current usage
RecurringTaskConfig
Recurring task schedule configuration
RetryPolicy
Advanced retry policy configuration
RetryStatistics
Retry statistics for understanding task failure patterns
ScheduledTaskInfo
Scheduled task information
SlowQueryInfo
Slow query information from performance_schema
TableSizeInfo
Table size information
TaskAgeDistribution
Task age distribution for queue health monitoring
TaskChain
Task chain builder for creating dependent task sequences
TaskDependency
Task dependency for DAG execution
TaskExecutionStats
Task execution time statistics
TaskGroup
Task group information
TaskGroupStatus
Task group status
TaskHooks
Container for all registered hooks
TaskInfo
Information about a task in the database
TaskLatencyPercentiles
Task latency percentiles for SLA monitoring
TaskLatencyStats
Task latency statistics
TaskNameCount
Task count by task name
TaskProgress
Task progress information for long-running tasks
TaskResult
Task result stored in the database
TaskStateTransition
Task state transition record
TaskThroughput
Task throughput metrics
TraceContext
W3C Trace Context for distributed tracing
WorkerHeartbeat
Worker heartbeat information
WorkerStatistics
Worker statistics for monitoring distributed workers
Workflow
Workflow definition
WorkflowBuilder
Workflow builder for creating complex DAG workflows
WorkflowStage
Workflow stage for parallel execution
WorkflowStageBuilder
Workflow stage builder
WorkflowStatistics
Workflow statistics

Enums§

CircuitBreakerState
Circuit breaker state for database connection resilience
DbTaskState
Task state in the database
RecurringSchedule
Recurring schedule types
RetryStrategy
Retry strategy types
StageState
Workflow stage state
TaskHook
Task lifecycle hook enum
TaskResultStatus
Task result status
WorkerStatus
Worker status
WorkflowState
Workflow state

Type Aliases§

HookFn
Type alias for async lifecycle hook functions