Skip to content

Commit

Permalink
Updated readme file
Browse files Browse the repository at this point in the history
  • Loading branch information
sonus21 committed Sep 2, 2020
1 parent b60f498 commit c0ecae2
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 15 deletions.
30 changes: 16 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,22 @@

## Features

* A message can be delayed for an arbitrary period or delivered immediately.
* Multiple messages can be consumed in parallel by different workers.
* Message delivery: It's guaranteed that a message is consumed **at least once**. (Message would be consumed by a worker more than once due to the failure in the underlying worker/restart-process etc, otherwise exactly one delivery)
* Support Redis cluster
* Queue metrics
* Different Redis connection for application and worker
* Web interface for queue management and queue statistics
* Automatic message serialization and deserialization
* Queue concurrency
* Group level queue priority(weighted and strict)
* Sub queue priority(weighted and strict)
* Task execution back off, exponential and fixed back off (default fixed back off)
* Callbacks for different actions
* Events 1. Bootstrap event 2. Task execution event.
* **Message Scheduling** : A message can be scheduled for any arbitrary period
* **Competing Consumers** multiple messages can be consumed in parallel by different workers.
* **Message delivery**: It's guaranteed that a message is consumed **at least once**. (Message would be consumed by a worker more than once due to the failure in the underlying worker/restart-process etc, otherwise exactly one delivery)
* **Redis cluster** : Redis cluster can be used with driver.
* **Metrics** : In flight messages, waiting for consumption and delayed messages
* **Web interface**: a web interface to manage a queue and queue insights including latency
* **Automatic message serialization and deserialization**
* **Concurrency**: Concurrency of any queue can be configured
* **Queue Priority** :
* Group level queue priority(weighted and strict)
* Sub queue priority(weighted and strict)
* **Execution Backoff** : Exponential and fixed back off (default fixed back off)
* **Callbacks** : Callbacks for dead letter queue, discard etc
* **Events** 1. Bootstrap event 2. Task execution event.
* **Unique message** : Unique message processing for a queue based on the message id
* Separate Redis connection for Rqueue

## Getting Started

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@

package com.github.sonus21.rqueue.exception;

/**
* Whenever a Redis lock can not be acuired due to some other is holding lock then this error would
* be thrown. The application should retry once this error occurs.
*/
public class LockCanNotBeAcquired extends RuntimeException {

private static final long serialVersionUID = 598739372785907190L;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ void start() {
long maxProcessingTime = getMaxProcessingTime();
long startTime = System.currentTimeMillis();
int retryCount = getRetryCount();
int attempt = 0;
int attempt = 1;
ExecutionStatus status;
try {
do {
Expand Down

0 comments on commit c0ecae2

Please sign in to comment.