Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
If you use Bull, you've probably run into a situation in which the number of connections to your redis server skyrocketed. Why? Because each instance of your queues created 3 connections and each instance of your application created each queue. Easily racking up thousands of connection.
Enter the Queue Manager. At least now you can limit the number of connections a single instance makes!
EventEmitter
QueueManager
Kind: global class
Extends: EventEmitter
EventEmitter
IORedis
IORedis
Promise.<Job>
Boolean
BullQueue
Array.<BullQueue>
Promise
IORedis
BullQueue
A QueueManager handles the complexity of reusing redis connections. Without reusing redis connections, the number clients connected to redis at any given time can sky rocket.
Returns the number of clients connected via this QueueManager (helper for tests)
Kind: instance property of QueueManager
IORedis
Returns the client for this QueueManager
Kind: instance property of QueueManager
Returns: IORedis
- Client (used for redis cmds)
IORedis
Returns the subscriber instance for this manager. Creates it if it does not exist;
Kind: instance property of QueueManager
Returns: IORedis
- Subscriber client
Promise.<Job>
Adds a job to a queue with the given name. Relies on QueueManager.getQueue which means the queue will be created. If the queue needs to have special options, make sure the queue is created by using getQueue/createQueue first.
Kind: instance method of QueueManager
Returns: Promise.<Job>
- The Job created by Bull
Param | Type | Description |
---|---|---|
name | string | The name of the queue |
data | Object | The data property for the new job |
opts | JobOpts | Bull job options. |
Boolean
Simple function to test if a queue has been created or not.
Kind: instance method of QueueManager
Returns: Boolean
- True if the queue has been created, false otherwise
Param | Type | Description |
---|---|---|
name | string | The name of the queue |
BullQueue
Gets a specific queue. Creates it if the queue does not exist. If a queue needs special configuration options, they can be called on the first instance of getQueue. QueueManager.createQueue is aliased to this function, so syntactically, you can use that function to denote creation.
Kind: instance method of QueueManager
Returns: BullQueue
- The created bull queue
Param | Type | Description |
---|---|---|
name | string | The name of the queue to create |
options | Object | Options to pass to bull. Options here will override any options provided by default. |
Array.<BullQueue>
Returns an array of all queues
Kind: instance method of QueueManager
Returns: Array.<BullQueue>
- array of bull queues
Promise
Closes all queues managed by this QueueManager
Kind: instance method of QueueManager
Returns: Promise
- Resolves when all queues have been closed
IORedis
Manages the clients used by queues in this QueueManager instance. Bull can reuse subscriber and client connections, but needs to create separate bclient instances for each queue. This means that the number of clients you have is directly tied to the number of queues you have.
Kind: instance method of QueueManager
Returns: IORedis
- An instance of IORedis
See: https://github.com/OptimalBits/bull/blob/develop/PATTERNS.md#reusing-redis-connections
Param | Type | Description |
---|---|---|
type | string | Type of redis client |
redisOpts | IORedisOpts | The options to pass to redis. |
BullQueue
Gets a specific queue. Creates it if the queue does not exist. If a queue needs special configuration options, they can be called on the first instance of getQueue. QueueManager.createQueue is aliased to this function, so syntactically, you can use that function to denote creation.
Kind: instance method of QueueManager
Returns: BullQueue
- The created bull queue
Param | Type | Description |
---|---|---|
name | string | The name of the queue to create |
options | Object | Options to pass to bull. Options here will override any options provided by default. |
© 2020 Mudrekh Goderya MIT
FAQs
Queue Manager for Bull
The npm package bull-qm receives a total of 5 weekly downloads. As such, bull-qm popularity was classified as not popular.
We found that bull-qm demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.