demo
一.定时任务官方文档
文档:https://eggjs.org/zh-cn/basics/schedule.html
可以让我们定时的去执行一些操作。比如定时的检测网站是否被篡改,定时的更新缓存,定时的爬取数据等。
二、定时任务
1.所有的定时任务都统一存放在 app/schedule
目录,先新建schedule文件夹,之后新建watchfile.js文件
const SubScription = require('egg').Subscription;
var i = 0;
class WatchFile extends SubScription{
/* 通过shedule属性来设置定时任务的执行间隔等配置 */
static get schedule(){
return {
interval:'2 s',
type:'all' //所有的worker(进程),都会执行
}
}
async subscribe(){
i++;
console.log(i)
}
}
module.exports = WatchFile;
npm run dev
//控制台每间隔2s就会输出1
三、定时任务的推荐写法
var i = 1;
module.exports = {
schedule: {
interval: '1m', // 1 分钟间隔
type: 'all', // 指定所有的 worker 都需要执行
},
async task(ctx) {
i++;
console.log(i)
}
};