#### 为什么选择bull queue 1. 我们需要一个基于 redis的轻量级的job queue, 和这个SO问题完全一样: [Background processes in Node.js](https://stackoverflow.com/questions/31009340/background-processes-in-node-js) "After a user posts something to an app I want to crunch the data, request additional data from external resources, etc. All of this is quite time consuming, so I want it out of the req/res loop. " 2. google基本上只有三个结果 [bee-queue](https://github.com/bee-queue/bee-queue) , [bull](https://github.com/OptimalBits/bull) 和 [kue](https://github.com/Automattic/kue) 。其他几个星值都太低了, 参见 [bee-queue vs bull vs kue vs node-resque vs queue vs tiny-workervs webworker-threads](https://www.npmtrends.com/bee-queue-vs-bull-vs-kue-vs-node-resque-vs-queue-vs-tiny-worker-vs-webworker-threads) 。基于其他message queue,比如RabbitMQ, Kafka, ActiveMQ 的实现同样不考虑(下面bee-queue同样提到这点) 2. 一开始,选择的bee-queue,因为它最简单,附带的example 一看就懂(这点做得比bull好)这也是它自己强调的。 bee-queue有篇wiki, [Bee Queue's Origin](https://github.com/bee-queue/bee-queue/wiki/Origin) 提到它开始用bull,但因为性能达不到要求就自己开发 bee-queue 3. bee-queue的官宣似乎也做得比bull好,很容易找到这两篇文章 [Bee-Queue: a Redis-based distributed queue](https://redislabs.com/blog/bee-queue-redis-based-distributed-queue/) 和 [Announcing Bee-Queue v1.0](https://mixmax.com/blog/bee-queue-v1-node-redis-queue/) 。我最开始的担心只是它的上一次更新10个月前,结果我就用了“常用把戏”,给它开个问题单,看它多久相应?果然,开了以后一直没响应;同样的问题开给bull,隔天就相应了。我们又进一步[问了个问题](https://github.com/OptimalBits/bull/issues/1120),还是隔天就相应。[Node.js job queue evaluation](https://bl.ocks.org/twolfson/a8e5bca55ad825ff49305e457fbf46ca) 这里说bull一个缺点是 'Sloooow issues resolution' 我们经验恰恰相反。所以对bull的好感一下大增。 4. 但促使我们换bull另一个原因是,bee-queue好像没法暂停、取消一个job;而bull提供这样的方法。bull和bee的api很类似,所以直接换个queue代码基本不用改。 5. Kue 的年代太久远,好像也最复杂,所以没考虑,只是知道它居然[又是TJ大神写的](https://twitter.com/tjholowaychuk/status/88055999612727296),实在佩服得不行。这篇[Procrastination like a boss with queues](https://medium.com/one-more-thing-studio/procrastination-like-a-boss-with-queues-db65b9130776) 搜索排名也较靠前,比较了kue & bull 实在有精力可以看看。 注:[Does Node.js need a job queue?](https://stackoverflow.com/questions/44643030/does-node-js-need-a-job-queue) 倒是这得看下,queue有适用场景, 回答的人jfriend00的js的大拿