Skip to content

Commit

Permalink
docs: add some notes to "Reusing Redis Connections" (#1790)
Browse files Browse the repository at this point in the history
  • Loading branch information
dobesv committed Jul 21, 2020
1 parent 712df1d commit dfc9211
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion PATTERNS.md
Expand Up @@ -66,7 +66,13 @@ The most robust and scalable way to accomplish this is by combining the standard
Reusing Redis Connections
-------------------------

A standard queue requires **3 connections** to the Redis server. In some situations you might want to re-use connections—for example on Heroku where the connection count is restricted. You can do this with the `createClient` option in the `Queue` constructor (note: bclient connections [cannot be re-used](https://github.com/OptimalBits/bull/issues/880)):
A standard queue requires **3 connections** to the Redis server. In some situations you might want to re-use connections—for example on Heroku where the connection count is restricted. You can do this with the `createClient` option in the `Queue` constructor.

Notes:
- bclient connections [cannot be re-used](https://github.com/OptimalBits/bull/issues/880), so you should return a new connection each time this is called.
- client and subscriber connections can be shared and will not be closed when the queue is closed. When you are shutting down the process, first close the queues, then the shared connections (if they are shared).
- if you are not sharing connections but still using `createClient` to do some custom connection logic, you may still need to keep a list of all the connections you created so you can manually close them later when the queue shuts down, if you need a graceful shutdown for your process
- do not set a `keyPrefix` on the connection you create, use bull's built-in prefix feature if you need a key prefix

```js
var {REDIS_URL} = process.env
Expand Down

0 comments on commit dfc9211

Please sign in to comment.