egg-delayed-queue

1.0.2 • Public • Published

egg-delayed-queue

NPM version build status Test coverage David deps Known Vulnerabilities npm download

A priority queue queue backed by redis, built for eggjs.

Install

$ yarn add egg-delayed-queue

Usage

// {app_root}/config/plugin.js
exports.queue = {
  enable: true,
  package: 'egg-delayed-queue',
};

Configuration

// {app_root}/config/config.default.js
'use strict';
exports.queue = {
  client: {
    queuePrefix: 'q',
    redis: {
      port: 6379,
      host: '127.0.0.1',
      auth: '',
      db: 3,
      // see https://github.com/mranney/node_redis#rediscreateclient
      options: {
      },
    },
  },
  // clients: {}
};

see config/config.default.js for more detail.

Example

// 在 app.js 里面调用 如果需要用到ctx 可以 const ctx = app.createAnonymousContext();
app.queue.process('orderNo', (job, done) => {
  // 这里可以调用service里面的方法来消费这些信息
  const ctx = app.createAnonymousContext();
    ctx.service.home.dealOrder(job.data, done); // dealOrder是自定义的方法
});
 
// 在需要的地方订阅一个消息
app.queue.create('orderNo', {
    orderNo: '1111111',
    create_time: Date.now()
}).delay(milliseconds) // 延时多少毫秒
  .save();

form more config please see here

Questions & Suggestions

Please open an issue here.

License

MIT

Package Sidebar

Install

npm i egg-delayed-queue

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

8.22 kB

Total Files

6

Last publish

Collaborators

  • yumeiqiang