11<div >
22 <img align =" left " src =" https://raw.githubusercontent.com/sonus21/rqueue/master/rqueue-core/src/main/resources/public/rqueue/img/android-chrome-192x192.png " alt =" Rqueue Logo " width =" 90 " >
3- <h1 style =" float :left " >Rqueue: Redis Queue, Task Queue, Scheduled Queue for Spring and Spring Boot</h1 >
3+ <h1 style =" float :left " >Rqueue: Redis-Backed Job Queue and Scheduler for Spring and Spring Boot</h1 >
44</div >
55
66[ ![ Coverage Status] ( https://coveralls.io/repos/github/sonus21/rqueue/badge.svg?branch=master )] ( https://coveralls.io/github/sonus21/rqueue?branch=master )
77[ ![ Maven Central] ( https://img.shields.io/maven-central/v/com.github.sonus21/rqueue-core )] ( https://repo1.maven.org/maven2/com/github/sonus21/rqueue-core )
88[ ![ Javadoc] ( https://javadoc.io/badge2/com.github.sonus21/rqueue-core/javadoc.svg )] ( https://javadoc.io/doc/com.github.sonus21/rqueue-core )
99[ ![ License] ( https://img.shields.io/badge/License-Apache%202.0-blue.svg )] ( LICENSE )
1010
11- ** Rqueue** is an asynchronous task executor(worker) built for spring and spring-boot framework based
12- on the spring framework's messaging library backed by Redis. It can be used as message broker as
13- well, where all services code is in Spring.
11+ ** Rqueue** is a Redis-backed job queue and producer-consumer system for Spring and Spring Boot. It
12+ supports both producers and consumers for background jobs, scheduled tasks, and event-driven
13+ workflows, similar to Sidekiq or Celery, but fully integrated into the Spring programming model with
14+ annotation-driven APIs and minimal setup.
1415
1516<br />
1617
1718![ Message Flow] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/rqueue-message-flow.svg?sanitize=true )
1819
1920## Features
2021
21- * ** Instant delivery** : Instant execute this message in the background
22- * ** Message scheduling** : A message can be scheduled for any arbitrary period
23- * ** Unique message** : Unique message processing for a queue based on the message id
24- * ** Periodic message** : Process same message at certain interval
25- * ** Priority tasks** : task having some special priority like high, low, medium
26- * ** Message delivery** : It's guaranteed that a message is consumed ** at least once** . (Message
27- would be consumed by a worker more than once due to the failure in the underlying
28- worker/restart-process etc, otherwise exactly one delivery)
29- * ** Message retry** : Message would be retried automatically on application crash/failure/restart
30- etc.
31- * ** Automatic message serialization and deserialization**
32- * ** Message Multicasting** : Call multiple message listeners on every message
33- * ** Batch Message Polling** : Fetch multiple messages from Redis at once
34- * ** Metrics** : In flight messages, waiting for consumption and scheduled messages
35- * ** Competing Consumers** : multiple messages can be consumed in parallel by different
36- workers/listeners.
37- * ** Concurrency** : Concurrency of any listener can be configured
38- * ** Queue Priority** :
39- * Group level queue priority(weighted and strict)
40- * Sub queue priority(weighted and strict)
41- * ** Long execution job** : Long running jobs can check in periodically.
42- * ** Execution Backoff** : Exponential and fixed back off (default fixed back off)
43- * ** Middleware** : Add one or more middleware, middlewares are called before listener method.
44- * ** Callbacks** : Callbacks for dead letter queue, discard etc
45- * ** Events** : 1. Bootstrap event 2. Task execution event.
46- * ** Redis connection** : A different redis setup can be used for Rqueue
47- * ** Redis cluster** : Redis cluster can be used with Lettuce client.
48- * ** Redis Sentinel** : Redis sentinel can be used with Rqueue.
49- * ** Reactive Programming** : Supports reactive Redis and spring webflux
50- * ** Web Dashboard** : Web dashboard to manage a queue and queue insights including latency
22+ * ** Job execution**
23+ * Run background jobs asynchronously
24+ * Schedule jobs for any future time
25+ * Run periodic jobs at fixed intervals
26+ * Guarantee at-least-once delivery
27+ * Retry failed jobs automatically with fixed or exponential backoff
28+
29+ * ** Queues and routing**
30+ * Deduplicate messages using message IDs
31+ * Process priority workloads such as high, medium, and low
32+ * Prioritize workloads with group-level queue priority and weighted, strict, or hard strict ordering
33+ * Fan out the same message to multiple listeners
34+ * Poll messages in batches for higher throughput
35+
36+ * ** Consumers and scale**
37+ * Use annotation-driven listeners with Spring beans
38+ * Get started with just the dependency in Spring Boot applications
39+ * Run multiple competing consumers in parallel
40+ * Configure listener concurrency per worker
41+ * Support long-running jobs with periodic check-ins
42+ * Serialize and deserialize message payloads automatically
43+
44+ * ** Operations and extensibility**
45+ * Add middleware before listener execution
46+ * Use callbacks for dead-letter, discard, and related flows
47+ * Subscribe to bootstrap and task execution events
48+ * Monitor in-flight, queued, and scheduled messages with metrics
49+ * Use the built-in web dashboard for queue visibility and latency insights
50+
51+ * ** Redis and platform support**
52+ * Use a separate Redis setup for Rqueue if needed
53+ * Support Redis standalone, Sentinel, and Cluster setups
54+ * Work with Lettuce for Redis Cluster
55+ * Support reactive Redis and Spring WebFlux
5156
5257### Requirements
5358
@@ -318,7 +323,6 @@ signing.secretKeyRingFile=/Users/sonu/.gnupg/secring.gpg generate this as `gpg -
318323
319324* Please report bug,question,feature(s)
320325 to [ issue] ( https://github.com/sonus21/rqueue/issues/new/choose ) tracker.
321- * Ask question on StackOverflow using [ #rqueue] ( https://stackoverflow.com/tags/rqueue ) tag
322326
323327## Contribution
324328
@@ -337,10 +341,6 @@ to familiarise yourself with the project.
337341* Maven Central:
338342 * [ https://repo1.maven.org/maven2/com/github/sonus21/rqueue-spring ] ( https://repo1.maven.org/maven2/com/github/sonus21/rqueue-spring )
339343 * [ https://repo1.maven.org/maven2/com/github/sonus21/rqueue-spring-boot-starter ] ( https://repo1.maven.org/maven2/com/github/sonus21/rqueue-spring-boot-starter )
340-
341- * StackOverflow: [ https://stackoverflow.com/tags/rqueue ] ( https://stackoverflow.com/tags/rqueue )
342- * Discord: https://discord.gg/2hgQZXS2
343- * Project Progress: [ https://github.com/sonus21/rqueue/projects/3 ] ( https://github.com/sonus21/rqueue/projects/3 )
344344
345345## License
346346
0 commit comments