@@ -53,6 +53,7 @@ well, where all services code is in Spring.
53
53
### Requirements
54
54
55
55
* Spring 5+
56
+ * Java 1.8+
56
57
* Spring boot 2+
57
58
* Lettuce client for Redis cluster
58
59
* Read master preference for Redis cluster
@@ -64,41 +65,44 @@ well, where all services code is in Spring.
64
65
Snapshot Version: [ https://s01.oss.sonatype.org/content/repositories/snapshots/com/github/sonus21/ ] ( https://s01.oss.sonatype.org/content/repositories/snapshots/com/github/sonus21/ )
65
66
Release Version: [ Maven central] ( https://search.maven.org/search?q=g:com.github.sonus21 )
66
67
67
- #### Spring-boot
68
+ ---
69
+ #### Spring Boot
68
70
69
71
* Get the latest one
70
72
from [ Maven central] ( https://search.maven.org/search?q=g:com.github.sonus21%20AND%20a:rqueue-spring-boot-starter )
71
73
* Add dependency
72
74
* Gradle
73
75
``` groovy
74
- implementation 'com.github.sonus21:rqueue-spring-boot-starter:2.11 -RELEASE'
76
+ implementation 'com.github.sonus21:rqueue-spring-boot-starter:2.13.0 -RELEASE'
75
77
```
76
78
* Maven
77
79
```xml
78
80
<dependency>
79
81
<groupId>com.github.sonus21</groupId>
80
82
<artifactId>rqueue-spring-boot-starter</artifactId>
81
- <version>2.12 .0-RELEASE</version>
83
+ <version>2.13 .0-RELEASE</version>
82
84
</dependency>
83
85
```
84
86
85
87
No additional configurations are required, only dependency is required.
86
88
89
+ ---
90
+
87
91
#### Spring framework
88
92
89
93
* Get the latest one
90
94
from [Maven central](https://search.maven.org/search?q=g:com.github.sonus21%20AND%20a:rqueue-spring)
91
95
* Add Dependency
92
96
* Gradle
93
97
```groovy
94
- implementation 'com.github.sonus21:rqueue-spring:2.12 .0-RELEASE'
98
+ implementation 'com.github.sonus21:rqueue-spring:2.13 .0-RELEASE'
95
99
```
96
100
* Maven
97
101
```xml
98
102
<dependency>
99
103
<groupId>com.github.sonus21</groupId>
100
104
<artifactId>rqueue-spring</artifactId>
101
- <version>2.12 .0-RELEASE</version>
105
+ <version>2.13 .0-RELEASE</version>
102
106
</dependency>
103
107
```
104
108
@@ -119,11 +123,12 @@ public class Application {
119
123
}
120
124
```
121
125
126
+ ---
122
127
### Message publishing/Task submission
123
128
124
129
All messages need to be sent using ` RqueueMessageEnqueuer ` bean's ` enqueueXXX ` , ` enqueueInXXX `
125
130
and ` enqueueAtXXX ` methods. It has handful number of ` enqueue ` , ` enqueueIn ` , ` enqueueAt ` methods, we
126
- can use one of them based on the use case.
131
+ can use any one of them based on the use case.
127
132
128
133
``` java
129
134
public class MessageService {
@@ -162,14 +167,16 @@ public class MessageService {
162
167
rqueueMessageEnqueuer. enqueueWithPriority(" sms-queue" , priority. value(), sms);
163
168
}
164
169
165
- // enqueue periodic job, email should be sent every 30 seconds
170
+ // Index chat every 1 minute
166
171
public void sendPeriodicEmail (Email email ) {
167
- rqueueMessageEnqueuer. enqueuePeriodic(" email-queue " , invoice, 30_000 );
172
+ rqueueMessageEnqueuer. enqueuePeriodic(" chat-indexer " , chatIndexer, 60_000 );
168
173
}
169
174
170
175
}
171
176
```
172
177
178
+ ---
179
+
173
180
### Worker/Consumer/Task Executor/Listener
174
181
175
182
Any method that's part of spring bean, can be marked as worker/message listener
@@ -223,19 +230,21 @@ public class MessageListener {
223
230
}
224
231
```
225
232
226
- ## Queue Statistics
233
+ ---
234
+ ## Dashboard
227
235
228
- Micrometer based dashboard for queue
236
+ Link: [ http://localhost:8080/rqueue ] ( http://localhost:8080/rqueue )
229
237
230
- [ ![ Grafana Dashboard] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/grafana-dashboard.png )] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/grafana-dashboard.png )
231
238
232
- ## Web
239
+ [ ![ Dashboard ] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/stats-graph.png )] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/stats-graph.png )
233
240
234
- Link: [ http://localhost:8080/rqueue ] ( http://localhost:8080/rqueue )
235
241
236
- #### Dashboard
242
+ #### Queue Statistics
243
+
244
+ Micrometer based dashboard for queue
245
+
246
+ [ ![ Grafana Dashboard] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/grafana-dashboard.png )] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/grafana-dashboard.png )
237
247
238
- [ ![ Dashboard] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/stats-graph.png )] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/stats-graph.png )
239
248
240
249
#### Message Waiting For Execution
241
250
@@ -245,6 +254,8 @@ Link: [http://localhost:8080/rqueue](http://localhost:8080/rqueue)
245
254
246
255
[ ![ Jobs] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/jobs.png )] ( https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/jobs.png )
247
256
257
+ ---
258
+
248
259
## Status
249
260
250
261
Rqueue is stable and production ready, it's processing 100K+ messages daily in production
@@ -264,6 +275,8 @@ PR/[issue](https://github.com/sonus21/rqueue/issues/new?template=i-m-using-rqueu
264
275
<a href =" https://www.chaotiinfo.cn " ><img src =" https://raw.githubusercontent.com/sonus21/rqueue/master/docs/static/users/chaoti-info.png " alt =" CHAOTI INFO TECH(SHENZHEN) " height =" 60 " align =" middle " /></a >
265
276
  ;  ;
266
277
278
+ ---
279
+
267
280
<!-- -- Signing Key
268
281
~/.gradle/gradle.properties file
269
282
@@ -286,7 +299,7 @@ signing.secretKeyRingFile=/Users/sonu/.gnupg/secring.gpg generate this as `gpg -
286
299
287
300
* Please report bug,question,feature(s)
288
301
to [ issue] ( https://github.com/sonus21/rqueue/issues/new/choose ) tracker.
289
- * Ask question on StackOverflow using [ rqueue] ( https://stackoverflow.com/tags/rqueue ) tag
302
+ * Ask question on StackOverflow using [ # rqueue] ( https://stackoverflow.com/tags/rqueue ) tag
290
303
291
304
## Contribution
292
305
0 commit comments