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