1. 程式人生 > >egg(15)--定時任務schedule

egg(15)--定時任務schedule

目錄結構

clipboard.png

檔案內容

service/news.js
'use strict';

const Service = require('egg').Service;

class NewsService extends Service {
  async getNewsList() {
    return [
      {
        title: '11',
      },
      {
        title: '22',
      },
      {
        title: '33',
      },
    ];
  }
  async getContent() {
    return {content: 'content11',}
  }
}

module.exports = NewsService;

schedule第一種寫法

schedule/watchFile.js
const Subscription = require('egg').Subscription;
var i = 0;
class WatchFile extends Subscription {
  static get schedule() {
    return {
      interval: '2s',
      type: 'all',
    };
  }
  async subscribe() {
    i++;
    console.log(i);
    var result  = await this.ctx.service.news.getContent();
    console.log(result)
  }
}

module.exports = WatchFile;

schedule第二種寫法

schedule/spider.js
var k = 110;
module.exports = {
    schedule:{
        interval:'1s',
        type:'all'
    },
    async task(ctx){
        ++k;
        console.log(k)
        var result  = await ctx.service.news.getNewsList();
        console.log(result)
    }
}

效果

clipboard.png