task-svr/src/schedule/noncerecord.schedule.ts
2024-01-17 16:14:16 +08:00

26 lines
680 B
TypeScript

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