Skip to content

Commit 8a266ca

Browse files
committed
docs: update bullmq get workers
1 parent 6a22178 commit 8a266ca

File tree

5 files changed

+137
-0
lines changed

5 files changed

+137
-0
lines changed

site/docs/extensions/bullmq.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,40 @@ export default {
411411
}
412412
```
413413

414+
### 获取任务处理器
415+
416+
通过内置的方法,我们可以获取到原始的任务处理器(Worker)。
417+
418+
可以启动任意多个 Worker 监听同一个队列,在这种情况下 BullMQ 会把队列中的任务轮流(round-robin)分配给这些 Worker。
419+
420+
当队列中有任务被添加时,BullMQ 会在这两个 Worker 之间自动分配任务。
421+
422+
我们可以通过方法 `getWorker` 获取到首个监听的 Worker 对象,也可以通过方法 `getWorkers` 获取到该队列监听的所有 Worker 对象。
423+
424+
```typescript
425+
import { Configuration, Inject } from '@midwayjs/core';
426+
import * as bullmq from '@midwayjs/bullmq';
427+
428+
@Configuration({
429+
imports: [
430+
// ...
431+
bullmq,
432+
]
433+
})
434+
export class MainConfiguration {
435+
436+
@Inject()
437+
bullmqFramework: bullmq.Framework;
438+
439+
async onServerReady() {
440+
const testWorker = this.bullmqFramework.getWorker('test');
441+
const allWorkers = this.bullmqFramework.getWorkers('test');
442+
}
443+
}
444+
445+
```
446+
447+
414448
## 组件日志
415449

416450
组件有着自己的日志,默认会将 `ctx.logger` 记录在 `midway-bullmq.log` 中。

site/docs/sidebars.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,7 @@
321321
"items": [
322322
"extensions/validate",
323323
"extensions/cache",
324+
"extensions/bull",
324325
"extensions/upload",
325326
"legacy/mongodb",
326327
"legacy/sequelize",

site/i18n/en/docusaurus-plugin-content-docs/current/extensions/bullmq.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,40 @@ export default {
411411
}
412412
```
413413

414+
### Getting Task Processors
415+
416+
Through built-in methods, we can get the original task processors (Workers).
417+
418+
You can start any number of Workers to listen to the same queue. In this case, BullMQ will distribute tasks in the queue to these Workers in a round-robin manner.
419+
420+
When tasks are added to the queue, BullMQ will automatically distribute tasks between these Workers.
421+
422+
We can get the first listening Worker object through the `getWorker` method, or get all Worker objects listening to the queue through the `getWorkers` method.
423+
424+
```typescript
425+
import { Configuration, Inject } from '@midwayjs/core';
426+
import * as bullmq from '@midwayjs/bullmq';
427+
428+
@Configuration({
429+
imports: [
430+
// ...
431+
bullmq,
432+
]
433+
})
434+
export class MainConfiguration {
435+
436+
@Inject()
437+
bullmqFramework: bullmq.Framework;
438+
439+
async onServerReady() {
440+
const testWorker = this.bullmqFramework.getWorker('test');
441+
const allWorkers = this.bullmqFramework.getWorkers('test');
442+
}
443+
}
444+
445+
```
446+
447+
414448
## Component Logging
415449

416450
The component has its own logs, by default recording `ctx.logger` in `midway-bullmq.log`.

site/i18n/en/docusaurus-plugin-content-docs/version-3.0.0/extensions/bullmq.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,40 @@ export default {
411411
}
412412
```
413413

414+
### Getting Task Processors
415+
416+
Through built-in methods, we can get the original task processors (Workers).
417+
418+
You can start any number of Workers to listen to the same queue. In this case, BullMQ will distribute tasks in the queue to these Workers in a round-robin manner.
419+
420+
When tasks are added to the queue, BullMQ will automatically distribute tasks between these Workers.
421+
422+
We can get the first listening Worker object through the `getWorker` method, or get all Worker objects listening to the queue through the `getWorkers` method.
423+
424+
```typescript
425+
import { Configuration, Inject } from '@midwayjs/core';
426+
import * as bullmq from '@midwayjs/bullmq';
427+
428+
@Configuration({
429+
imports: [
430+
// ...
431+
bullmq,
432+
]
433+
})
434+
export class MainConfiguration {
435+
436+
@Inject()
437+
bullmqFramework: bullmq.Framework;
438+
439+
async onServerReady() {
440+
const testWorker = this.bullmqFramework.getWorker('test');
441+
const allWorkers = this.bullmqFramework.getWorkers('test');
442+
}
443+
}
444+
445+
```
446+
447+
414448
## Component Logging
415449

416450
The component has its own logs, by default recording `ctx.logger` in `midway-bullmq.log`.

site/versioned_docs/version-3.0.0/extensions/bullmq.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,40 @@ export default {
411411
}
412412
```
413413

414+
### 获取任务处理器
415+
416+
通过内置的方法,我们可以获取到原始的任务处理器(Worker)。
417+
418+
可以启动任意多个 Worker 监听同一个队列,在这种情况下 BullMQ 会把队列中的任务轮流(round-robin)分配给这些 Worker。
419+
420+
当队列中有任务被添加时,BullMQ 会在这两个 Worker 之间自动分配任务。
421+
422+
我们可以通过方法 `getWorker` 获取到首个监听的 Worker 对象,也可以通过方法 `getWorkers` 获取到该队列监听的所有 Worker 对象。
423+
424+
```typescript
425+
import { Configuration, Inject } from '@midwayjs/core';
426+
import * as bullmq from '@midwayjs/bullmq';
427+
428+
@Configuration({
429+
imports: [
430+
// ...
431+
bullmq,
432+
]
433+
})
434+
export class MainConfiguration {
435+
436+
@Inject()
437+
bullmqFramework: bullmq.Framework;
438+
439+
async onServerReady() {
440+
const testWorker = this.bullmqFramework.getWorker('test');
441+
const allWorkers = this.bullmqFramework.getWorkers('test');
442+
}
443+
}
444+
445+
```
446+
447+
414448
## 组件日志
415449

416450
组件有着自己的日志,默认会将 `ctx.logger` 记录在 `midway-bullmq.log` 中。

0 commit comments

Comments
 (0)