fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

Agenda
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:http://agendajs.com
GitHub:https://github.com/agenda/agenda
网站描述:基于 node 的一个轻量级任务调度类库

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


链接: https://fly63.com/nav/1484

more>>
相关栏目
Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架
官网GitHub
pm2
pm2 是一个带有负载均衡功能的Node应用的进程管理器
官网GitHub
Koa
基于 Node.js 平台的下一代 web 开发框架
官网GitHub
Egg.js
为企业级框架和应用而生
官网GitHub
Primus
通用包装器实时框架
点击进入GitHub
Electrode
一个用于构建通用 React / Node.js 应用程序的平台
点击进入GitHub
faye-websocket
Node.js 应用程序中命令预先存在的 WebSocket 连接
点击进入GitHub
vm2
一个Node.js 官方 vm 库的替代品
点击进入GitHub
node-opencv
node视觉算法库
官网GitHub
node-xml2js
Json与xml相互转化的工具
点击进入GitHub
node-red
一套开源可视化界面开发工具
官网GitHub
polemo
网易开源的游戏后端框架
点击进入GitHub
AdonisJs
一款类似laravel的node.js框架
官网GitHub
GitBook
基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。
官网
nodebestpractices
NodeJS最佳实践
官网GitHub
Inquirer.js
NodeJs交互式命令行工具
点击进入GitHub

手机预览