Agenda

Agenda 是基于 node 的一个轻量级义务调剂类库,它的优势在于轻量级、持久化、使用简朴。   1)持久化 Agenda 引入mongodb从而实现持久化 。Agenda 将所有的义务(job)存储到mongodb中,对...

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');
})();


思源资源网:分类流动

1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入

3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/nav/1484

  • 发表于 2021-05-01 07:54
  • 阅读 ( 290 )
  • 分类:互联网

0 条评论

请先 登录 后评论
艰难苦
艰难苦

689 篇文章

你可能感兴趣的文章

相关问题