You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

cron-redis

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cron-redis

cron task for node by redis

1.3.3
latest
Source
npmnpm
Version published
Weekly downloads
24
118.18%
Maintainers
1
Weekly downloads
 
Created
Source

cron task for node by redis

Inspired by the bull

feature

  • 业务方可以定义定时时间、时间结束的触发任务
  • 业务方可以更新或者删除已经发布的定时任务
  • 定时任务管理平台统一接收和调度任务
  • 设置准确的定时时间
  • 时间结束触发客户端,不能重复消费

usage

client

  • Initialize the redis config
  • register function for callback
  • publish task
var redisConfig = {
  host: '127.0.0.1',
  port: 6379,
  db: 1,
  password: 'root',
  // other redis config
};
const queue = require('cron-redis')('test', redisConfig);

var moment = require('moment');

function hello (x, y){
  console.log(new Date());
  console.log(x + ' + '+ y +' = %s', x+y);
}
var task1 = {
  method: hello.name,
  params: [2, 3],
  rule: moment().add(3, 's').toDate()
}

var task2 = {
  method: hello.name,
  params: [4, 5],
  rule: '* */1 * * * *'
}
queue.register(hello)
queue.publish(task1);
queue.publish(task2);


API

require('cron-redis')(appName, redisConfig)

init config

  • appName {String} what your app's name?
  • redisConfig {Object}
{
  host: '127.0.0.1',
  port: 6379,
  DB: 1,
  opts: {
    auth_pass: 'root',
    password: 'root'
  }
}

register

register a task

  • method {Function | Object} // method for cron task callback

    function hello (){
       console.log('hello');
    }
    queue.register(hello);
    
    
    or 
    
    var methods = {
     hello: function(){
        console.log('hello');
     },
     // and more
    }
    
    queue.register(methods);
    
    

publish

add a task to queue

  • task {Object}
    • method {String} the name of method will be callback.

    • params {Array}

    • rule {options} cron rule . {Date} or {* */1 * * * *}

    • desc {options} description for task

    • uniqueID {options} keep task unique in queue

Supported format
*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    |
│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── month (1 - 12)
│    │    │    └────────── day of month (1 - 31)
│    │    └─────────────── hour (0 - 23)
│    └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, optional)

or

new Date();
moment().add(3, 's').toDate()

list

the queue task in redis

  • @return {Array[Object]}
  [{ data: '{"method":"hello","params":[4,5],"rule":"* */1 * * * *"}',
    opts: '{"delay":60000}',
    progress: '0',
    delay: '0',
    timestamp: '1458008690942',
    attempts: '1',
    attemptsMade: '1',
    stacktrace: '[]',
    returnvalue: 'undefined',
    key: 'bull:test:111' },
   ]

del

delete some hash key

  • @param key {string} key of task

More

bull

FAQs

Package last updated on 03 Jun 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts