egg.js基础功能1 -- 定时任务

2019-08-14  本文已影响0人  卡布奇诺_flygrk

egg定时任务

需求

近期接到一个任务,使用egg每日定时刷新数据库的内容,那么如何去编写一个定时任务呢?

调研

访问egg官网的教程,我们可以看到其存在定时任务这一项(https://eggjs.org/zh-cn/basics/schedule.html
)。

使用

在官网的教程中,我们可以很简单的了解到egg对于定时任务封装后的使用简便。可以说是相当easy了。

主要有以下2种方式的定时方式:

两种方式都是相当简单的,这里我们先来看下代码逻辑:

module.exports = {
    schedule: {
        cron: '0 0 2 * * ?', // 每日2点执行
        // interval: '1m', // 1 分钟间隔
        type: 'all', // 指定所有的 worker 都需要执行
    },
    async task(ctx) {
        const { exportRemoteService } = ctx.service;
        console.log("执行exportRemoteService.export(), 时间点: " + new Date().getTime());
        exportRemoteService.export();
    },
};

注意:
框架提供的定时任务默认支持两种类型,worker 和 all。worker 和 all 都支持上面的两种定时方式,只是当到执行时机时,会执行定时任务的 worker 不同:

上一篇下一篇

猜你喜欢

热点阅读