试试任务队列插件 egg-bull-queue
发布于 4 年前 作者 brickyang 4464 次浏览 来自 分享

GitHub 上比较流行的 Node.js 任务队列库有 Kue,Bull 和 Bee-queue。Kue 历史最早,2011 年第一次提交,不知道是不是历史包袱,现在还不支持 Promise,性能也相对一般。所以我第一个尝试了 Kue 之后就放弃了。

Bee-queue 最年轻,第一次提交是 2015 年,定位是一个轻量级的消息队列。Bee 的作者花了很多笔墨说明 Bee 与 Kue 和 Bull 的不同,以速度和轻量为主要特点,不追求复杂的功能。有兴趣可以了解一下:https://github.com/bee-queue/bee-queue#benchmarks。我试了之后觉得还是缺少一些需要的功能,所以也放弃了。

最后我就选择了 Bull,在现代化和功能上都能满足需求。NPM 上已经有作者发布了 egg-bull,但好像维护得不是很积极,所以我又发布了一个 egg-bull-queue,除了把 Bull 引入 Egg 之外,主要添加了 index.d.ts

要注意的是,@types/bull 虽然声明了 namespace Bull,但是用了 export,所以没法在全局上 merge namespace,为了简单处理,需要用到 QueueJob 等 interface 的时候还是要 import * as Bull from 'bull'。插件本身引入了 @types/bull,需不需要独立安装,主要看你的 TSLint 允不允许导入未显式安装的库。

欢迎围观:https://github.com/brickyang/egg-bull

1 回复
回到顶部