Agenda 介绍
Agenda 是基于 node 的 一个 轻量级任务调度类库,它的优势在于轻量级、持久化、使用简单。??
1) 持久化
Agenda 引入mongodb从而实现持久化 。Agenda 将所有的任务(job)存储到mongodb中,对于使用mongodb做 数据库 的项目有天然优势。2) 结构
在 Agenda 启动时会将预定义好的 processors 遍历一遍,从mongodb中 查询 出符合条件 job(这里的 job 可能不止一条)。对于遍历 查询 出来的job:如果时间已到或者已经是过去时间,那么立即执行;如果时间还未到,那么就延迟执行。
3)API
Agenda 之所以受欢迎,与其简单灵活的 API 是分不开的。
Agenda安装
npm install agenda
使用
const mongoConnectionString = 'mongodb://127.0.0.1/agenda';
const agenda = new Agenda({db: {address: mongoConnectionString}});
// Or override the default collection name:
// const agenda = new Agenda({db: {address: mongoConnectionString,collection: 'jobCollectionName'}});
// or pass additional connection options:
// const agenda = new Agenda({db: {address: mongoConnectionString,collection: 'jobCollectionName',options: {ssl: true}}});
// or pass in an existing mongodb-native MongoClient instance
// const agenda = new Agenda({mongo: myMongoClient});
agenda.define('delete old users',(job,done) => {
User.remove({lastLogIn: {$lt: twoDaysAgo}},done);
});
(async function() { // IIFE to give access to async/await
await agenda.start();
await agenda.every('3 minutes','delete old users');
// Alternatively,you Could also do:
await agenda.every('*/3 * * * *','delete old users');
})();
网站地址 : http://agendajs.com
GitHub: https://github.com/agenda/agenda
网站描述: 基于 node 的 一个 轻量级任务调度类库
Agenda官方网站
官方网站: http://agendajs.com
如果觉得 网站内容还不错,欢迎将 网站 推荐给程序员好友。