28 lines
725 B
TypeScript
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()
|
|
}
|
|
}
|