@@ -84,12 +84,14 @@ Redis allows for the renaming or disabling of commands in its protocol, see: ht
8484===== `data_type`
8585
8686 * 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`
8888 * There is no default value for this setting.
8989
9090Specify 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.
9395
9496[id="plugins-{type}s-{plugin}-db"]
9597===== `db`
@@ -125,6 +127,17 @@ The unix socket path of your Redis server.
125127
126128The name of a Redis list or channel.
127129
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+
128141[id="plugins-{type}s-{plugin}-password"]
129142===== `password`
130143
@@ -142,22 +155,31 @@ Password to authenticate with. There is no authentication by default.
142155The port to connect on.
143156
144157[id="plugins-{type}s-{plugin}-ssl"]
145- ===== `ssl`
158+ ===== `ssl`
146159
147160 * Value type is <<boolean,boolean>>
148161 * Default value is `false`
149162
150163Enable SSL support.
151164
152165
166+ [id="plugins-{type}s-{plugin}-threadpool_queue_sleep"]
167+ ===== `threadpool_queue_sleep`
168+
169+ * Value type is <<number,number>>
170+ * Default value is `0.2`
171+
172+ Time to sleep in main loop after checking if more threads can/need to be spawned.
173+ Applies to `data_type` is `pattern_list`
174+
175+
153176[id="plugins-{type}s-{plugin}-threads"]
154177===== `threads`
155178
156179 * Value type is <<number,number>>
157180 * Default value is `1`
158181
159182
160-
161183[id="plugins-{type}s-{plugin}-timeout"]
162184===== `timeout`
163185
@@ -166,7 +188,17 @@ Enable SSL support.
166188
167189Initial connection timeout in seconds.
168190
191+
192+ [id="plugins-{type}s-{plugin}-worker_thread_count"]
193+ ===== `worker_thread_count`
194+
195+ * Value type is <<number,number>>
196+ * Default value is `20`
197+
198+ Maximum number of worker threads to spawn when using `data_type` `pattern_list`.
199+
200+
169201[id="plugins-{type}s-{plugin}-common-options"]
170202include::{include_path}/{type}.asciidoc[]
171203
172- :default_codec!:
204+ :default_codec!:
0 commit comments