yi-task

修改了Task的info函数Bug

用于控制任务并发执行和定时执行

npm install yi-task
1 downloads in the last day
2 downloads in the last week
10 downloads in the last month

task

  这是一个控制函数并发执行和定时执行的模块

安装

    npm install yi-task

CLASS

  • Task,用于控制任务并发执行。

引入Task类

var Task = require('yi-task').Task;

初始化一个任务,例如处理用户登录,但我们控制同时处理数为100

var login_task = new Task('handle the user login',100,function(username,password,complete){
    //handle the login logic
    ...
    //表示成功完成了1个任务,失败了0个任务
    complete(1,0);
});

添加任务

//Avicha is the username param and 123456 is the password param.
login_task.push('Avicha','123456');

//batch push user
login_task.pushAll([['Avicha','123456'],['Yi','654321'],['other_user','their_password']]);

结束任务,当所有任务执行完毕后执行回调函数

login_task.end(function(infos){
    console.log(infos);
    process.exit(0);
});
  • Crontab,这是一个类似于crontab的模块,用于定时某个时候执行一个指定的函数。

引入Crontab类

var Crontab = require('yi-task').Crontab;

初始化

var crontab = new Crontab();
//var crontab = new Crontab(1000*60); 默认至少每60s监听一次

设置定时任务,格式跟crontab一致

//每逢星期一三五的每两个小时执行一次更新用户信息这个函数操作
crontab.set('0','*/2','*','*','1,3,5',function(){
    update_user_info();
});

启动crontab

crontab.run();
//crontab.run(1000*60*60*24);  只监听1天,默认一直监听

停止crontab并退出进程

crontab.stop();
npm loves you