lock-func
v1.0.11
Published
可以锁定一个函数同时内只能执行一个
Downloads
4
Readme
延时队列
一个延时队列 , 保证同一个时间内只要一个函数执行,
var lock_func = require("lock_func");
var lock = lock_func(listSize, mustDone );
//listSize---传最长的等待队列长度 ; 防者内存泄漏
//mustDone bool---第二个参数表示是否需要执行完成才追加队列
let p=lock(func,argu,timeout=-1);
//func--- 传函数 及函数调用参数
// 同一个时间内只能有一个func执行
此包缺陷:缺点无法做到 优先级别;
版本1.09后 加入超时回调函数
//可以无视时间直接执行下一步
加入 等待时间执行完才可以 继续追加队列的 标志
/**
*
@param listSize — 队列长度
@param mustDone — 需要等待完成追加
*/
lock_func(listSize: number, mustDone: boolean): <T, R>(func: (arg0: T) => R, argu: T, timedOut: number) => Promise<R>
返回闭包函数
并发队列
function SimpleQueue(job: () => Promise<any>, maxTime: number, queueNum: number): Promise<void>
即在以并发 queueNum 数对 job 执行maxTime 次数;
测试样例见 testQueue.js ...(无语..10行代码的函数测试代码是3倍.)