uniapp云函数定时触发功能如何使用

“在uniapp中使用云函数的定时触发功能时,应该如何配置和调用?我按照官方文档操作,但定时任务始终无法正常触发。请问具体步骤是什么?是否需要特别的后台权限设置?能否提供一个完整的示例代码?”

2 回复

在uniCloud控制台创建云函数时,选择“定时触发”类型,设置cron表达式来配置触发时间。例如0 0 2 * * *表示每天凌晨2点执行。保存后云函数会自动按设定时间运行。


在 UniApp 中使用云函数定时触发功能,需通过uni-cloud服务实现。以下是具体步骤和示例代码:

一、创建定时触发云函数

  1. uniCloud/cloudfunctions 目录下新建云函数(例如 scheduledTask)。
  2. 在云函数目录下的 package.json 中配置定时触发器:
{
  "name": "scheduledTask",
  "version": "1.0.0",
  "description": "定时任务示例",
  "main": "index.js",
  "trigger": {
    "type": "timer",
    "name": "myTimer",
    "config": "0 0 2 * * *" // 每天凌晨2点执行
  }
}
  • config 格式:使用 Cron 表达式(6位,秒级精度),例如:
    • 0 */5 * * * *:每5分钟执行
    • 0 0 12 * * *:每天中午12点执行

二、编写云函数逻辑

在云函数的 index.js 中实现具体业务:

'use strict';
exports.main = async (event, context) => {
  console.log('定时任务触发时间:', new Date());
  // 在此处编写业务逻辑,例如数据库操作、API调用等
  return { success: true };
};

三、部署云函数

  1. 右键云函数目录,选择「上传并部署:云端安装依赖」。
  2. uniCloud控制台 验证触发配置:
    • 进入服务空间 → 云函数 → 找到对应函数 → 查看触发器配置。

四、测试与调试

  • 本地调试:使用 uni-cli 命令触发模拟执行。
  • 日志查看:在控制台的云函数日志中检查执行记录。

注意事项

  1. 最小间隔:触发间隔需 ≥ 1 分钟。
  2. 冷启动延迟:云函数首次触发可能有秒级延迟。
  3. 费用:频繁触发可能产生额外资源消耗。

通过以上步骤即可实现定时任务,适用于数据定时同步、清理或消息推送等场景。

回到顶部