小程序云开发 -- 云函数定时触发器配置

2020-04-24 17:59:38 浏览数 (1)

小程序云开发 - 云函数定时触发器配置

新建云函数timer,小程序会新建两个文件 index.js 和 package.json

定时触发器的效果等同于如下一段代码,定时触发器并不能传递参数,需要将参数写在云函数中。

代码语言:javascript复制
wx.cloud.callFunction({
	name:'timer'
})

本文以定时刷新access_token为例

1.云函数内容

index.js

代码语言:javascript复制
// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
var request = require('request')
// 定时器
exports.main = async(event, context) => {
  const appkey = '';
  const appsecret = '';
  var url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='   appkey   '&client_secret='   appsecret;
  return new Promise((resolve, reject) => {
    request({
      url: url,
      method: "POST",
      json: true,
      headers: {
        "content-type": "application/json",
      },
    }, function(error, response, body) {

      if (!error && response.statusCode == 200) {
        console.log('通行证为'   body.access_token)
        resolve(body.access_token)
        //更新数据库中的access_token
      }
    })
  })
}

现在已经实现了云函数功能,实现触发器需要在timer文件夹下新建 config.json配置文件。

config.json文件就是触发器配置的核心文件,文件内容如下,具体匹配规则请查看官方文档。

这段代码规则为每天凌晨两点触发一次。

config.json

代码语言:javascript复制
{

  "triggers": [
    {

      "name": "myTrigger",

      "type": "timer",

      "config": "0 0 2 * * * *"
    }
  ]
}
2.部署过程
  1. 选择timer函数整体 - > 创建并部署(云端安装依赖)
  2. 单独选中config.json文件 - > 上传触发器
3.效果展示

0 人点赞