import { NonceRecord } from 'models/NonceRecord' import * as schedule from 'node-schedule' import { singleton } from 'zutils' /** * 定时更新发送邮件验证码的过期状态 */ @singleton export default class NonceRecordSchedule { async parseAllFinishedRecord() { await NonceRecord.deleteMany({ status: 1 }) } async parseAllExpiredRecord() { let now = Date.now() await NonceRecord.deleteMany({ expired: { $lt: now } }) } scheduleAll() { schedule.scheduleJob('*/1 * * * *', async () => { await this.parseAllFinishedRecord() }) schedule.scheduleJob('*/5 * * * *', async () => { await this.parseAllExpiredRecord() }) } }