Kue

Kue 是一个由 redis 支持的优先作业队列,为 node.js 构建。

PROTIP 这是最新的 Kue 文档,请务必阅读更改列表。

特征

  • 延迟工作

  • 并行工作负载分布

  • 工作事件和进度发布订阅

  • 作业TTL

  • 可选的回退重试

  • 优雅的工人关闭

  • 全文检索功能

  • RESTful JSON API

  • 丰富的集成用户界面

  • 无限滚动

  • 界面进度指示

  • 作业特定的日志记录

  • 由 Redis 提供支持

Installation

Latest release:

$ npm install kue

Master branch:

$ npm install http://github.com/Automattic/kue/tarball/master

创造工作

首先使用 kue.createQueue() 创建一个作业队列:

var kue = require('kue')
   , queue = kue.createQueue();

使用 job (“email”) 调用 queue.create() ,任意作业数据将返回一个作业,然后可以将其 save(),将其添加到 redis,默认优先级为“正常”。

save() 方法可选地接受回调,如果出现问题,则以错误响应。

标题键是特殊情况,将显示在 UI 内的职位列表中,以便更轻松地找到特定职位。

var job = queue.create('email', {
    title: 'welcome email for tj'
  , to: 'tj@learnboost.com'
  , template: 'welcome-email'
}).save( function(err){
   if( !err ) console.log( job.id );
});

个人收获

npm 作为统一的包管理,nodejs 作为前端的服务端。

让 js 完全可以做到后端做的事情,也就是有一天前端可以完全取代后端?

参考文档

https://github.com/celery/celery