task-svr/src/schedule/cache.schedule.ts
2024-05-11 10:35:33 +08:00

28 lines
725 B
TypeScript

import { ACTIVITY_NAME } from 'common/Constants'
import { ReadOnlyCache } from 'common/ReadOnlyCache'
import logger from 'logger/logger'
import { ActivityInfo } from 'models/ActivityInfo'
import * as schedule from 'node-schedule'
import { singleton } from 'zutils'
/**
* 定时更新发送邮件验证码的过期状态
*/
@singleton
export default class CacheSchedule {
async updateCache() {
try {
const activity = await ActivityInfo.findById(ACTIVITY_NAME)
new ReadOnlyCache().setData(ACTIVITY_NAME, activity)
} catch (err) {
logger.warn(err)
}
}
scheduleAll() {
schedule.scheduleJob('*/1 * * * *', async () => {
await this.updateCache()
})
this.updateCache()
}
}