'use strict'; const Subscription = require('egg').Subscription; class AccessToken extends Subscription { static get schedule() { return { interval: '7100s', // 7200-100 秒间隔 接近2个小时执行一次 type: 'all', // 指定所有的 worker 都需要执行 }; } // subscribe 是真正定时任务执行时被运行的函数 async subscribe() { // this.service.dataToGBService.dataToGB(); const config = this.ctx.app.config.wechat_config; const url = config.getAccessToken.replace('APPID', config.appId) .replace('APPSECRET', config.appSecret); const res = await this.ctx.curl(url, { dataType: 'json', }); this.app.redis.set('access_token', res.data.access_token, 'EX', 7100); const jsUrl = config.getJsApiTicket.replace('ACCESS_TOKEN', res.data.access_token); const jsRes = await this.ctx.curl(jsUrl, { dataType: 'json', }); this.app.redis.set('ticket', jsRes.data.ticket, 'EX', 7100); } } module.exports = AccessToken;