@@ -84,12 +84,14 @@ Redis allows for the renaming or disabling of commands in its protocol, see: ht
84
84
===== `data_type`
85
85
86
86
* This is a required setting.
87
- * Value can be any of: `list`, `channel`, `pattern_channel`
87
+ * Value can be any of: `list`, `pattern_list`, ` channel`, `pattern_channel`
88
88
* There is no default value for this setting.
89
89
90
90
Specify either list or channel. If `data_type` is `list`, then we will BLPOP the
91
- key. If `data_type` is `channel`, then we will SUBSCRIBE to the key.
92
- If `data_type` is `pattern_channel`, then we will PSUBSCRIBE to the key.
91
+ key. If `data_type` is `pattern_list`, then we will spawn a number of worker
92
+ threads that will LPOP from keys matching that pattern. If `data_type` is
93
+ `channel`, then we will SUBSCRIBE to the key. If `data_type` is
94
+ `pattern_channel`, then we will PSUBSCRIBE to the key.
93
95
94
96
[id="plugins-{type}s-{plugin}-db"]
95
97
===== `db`
@@ -125,6 +127,17 @@ The unix socket path of your Redis server.
125
127
126
128
The name of a Redis list or channel.
127
129
130
+ [id="plugins-{type}s-{plugin}-max_items_per_worker"]
131
+ ===== `max_items_per_worker`
132
+
133
+ * Value type is <<number,number>>
134
+ * Default value is `1000`
135
+
136
+ Maximum number of items for a single worker thread to process when `data_type` is `pattern_list`.
137
+ After the list is empty or this number of items have been processed, the thread will exit and a
138
+ new one will be started if there are non-empty lists matching the pattern without a consumer.
139
+
140
+
128
141
[id="plugins-{type}s-{plugin}-password"]
129
142
===== `password`
130
143
@@ -142,22 +155,37 @@ Password to authenticate with. There is no authentication by default.
142
155
The port to connect on.
143
156
144
157
[id="plugins-{type}s-{plugin}-ssl"]
145
- ===== `ssl`
158
+ ===== `ssl`
146
159
147
160
* Value type is <<boolean,boolean>>
148
161
* Default value is `false`
149
162
150
163
Enable SSL support.
151
164
152
165
166
+ [id="plugins-{type}s-{plugin}-max_items_per_worker"]
167
+ ===== `timeout`
168
+
169
+ * Value type is <<number,number>>
170
+ * Default value is `1000`
171
+
172
+ [id="plugins-{type}s-{plugin}-threadpool_queue_sleep"]
173
+ ===== `threadpool_queue_sleep`
174
+
175
+ * Value type is <<number,number>>
176
+ * Default value is `0.2`
177
+
178
+ Time to sleep in main loop after checking if more threads can/need to be spawned.
179
+ Applies to `data_type` is `pattern_list`
180
+
181
+
153
182
[id="plugins-{type}s-{plugin}-threads"]
154
183
===== `threads`
155
184
156
185
* Value type is <<number,number>>
157
186
* Default value is `1`
158
187
159
188
160
-
161
189
[id="plugins-{type}s-{plugin}-timeout"]
162
190
===== `timeout`
163
191
@@ -166,7 +194,17 @@ Enable SSL support.
166
194
167
195
Initial connection timeout in seconds.
168
196
197
+
198
+ [id="plugins-{type}s-{plugin}-worker_thread_count"]
199
+ ===== `worker_thread_count`
200
+
201
+ * Value type is <<number,number>>
202
+ * Default value is `20`
203
+
204
+ Maximum number of worker threads to spawn when using `data_type` `pattern_list`.
205
+
206
+
169
207
[id="plugins-{type}s-{plugin}-common-options"]
170
208
include::{include_path}/{type}.asciidoc[]
171
209
172
- :default_codec!:
210
+ :default_codec!:
0 commit comments