!!!!!!!!! this is sync task queue !!!!!!!!!!!!!!

npm install task-queue-node --save
vartaskQueue=require('./index')varPromise=require('bluebird')varrequest=require('request')vartask=taskQueue.createTask({interval: 200,wait: true,taskCommand: function(args){// taskCommand must return promisereturnnewPromise(function(resolve,reject){console.log(newDate().getTime(),args)setTimeout(()=>{resolve(args+' success')},300)})},autoStart: false})// Use multiple taskQueuevartask1=taskQueue.createTask({interval: 200,wait: true,taskCommand: commandFunc,max: 20})varcommandFunc=function(){returnnewPromise(function(resolve,reject){request('http://www.baidu.com',function(){resolve(args+' success')})})}// listen every task execute complate eventtask1.subscribe((err,result)=>{//result is taskCommand resolveif(err){console.error(err,'subscribe')}else{console.log(result)}})- See the test.js file for more examples.
| Params | Description |
|---|
| interval | task execute interval(ms),default:1000. |
| key | queue name,default:taskQueue. |
| autoStart | when the queue is empty,use addQueue auto execute start event, default:true. |
| wait | The next task will wait taskCommand resolve for execution, default:false. |
| ignoreError | set the false,taskCommand reject stop all task when, default:true. |
| taskCommand | task's Processing method,must is return promise,you can use bluebird. |
| firstDelay | first task is delay default:true (Not realized). |
| max | queue max task number,beyond will be truncated before default:0,set 0 no limit. |
| Event | Description |
|---|
| start | start execute task. |
| stop | stop execute task. |
| restart | restart task queue. |
| clear | clear queue. |
| addQueue | add task to queue. |
| subscribe | subscribe taskCommand resolve and reject event. |
| removeSubscribe | remove subscribe event. |
- 集成redis用于分布式部署
- 实现firstDelay功能