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