微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Agenda

编程之家收集整理的这个编程导航主要介绍了Agenda编程之家,现在分享给大家,也给大家做个参考。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。