task-svr/src/rewardSchedule.ts
2024-05-22 14:12:26 +08:00

32 lines
939 B
TypeScript

import * as dotenv from 'dotenv'
const envFile = process.env.NODE_ENV && process.env.NODE_ENV === 'production' ? `.env.production` : '.env.development'
dotenv.config({ path: envFile })
import logger from 'logger/logger'
import { ZRedisClient } from 'zutils'
import * as schedule from 'node-schedule'
const REDIS_KEY = `draw_1`
import { RewardRecord } from 'models/RewardRecrd'
const addRewards = async (type: number) => {
logger.info('schedule add rewards for type: ', type)
try {
let record = new RewardRecord({ type })
await record.save()
new ZRedisClient().pub.sadd(REDIS_KEY, record.id)
} catch (e) {
console.log(e)
}
}
;(async () => {
let opts = { url: process.env.REDIS }
new ZRedisClient(opts)
logger.info('REDIS Connected')
// 2,4,6,8,10,12,14,16,18,20 各添加一次
schedule.scheduleJob('0 2,4,6,8,10,12,14,16,18,20 * * *', async () => {
await addRewards(1)
})
// addRewards(1)
})()