微信云开发部署与定时触发器运维

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确
安装这个技能

微信小程序云开发(CloudBase)部署与定时触发器的运维排错手册。适用于:云函数改了线上没生效、怀疑没部署/部署错版本、"上传并部署"三个选项怎么选、定时触发器建不了/只能看不能建、定时任务到点没跑或跑了等于没跑(返回 401 等)、补跑历史日期数据、聚合表幂等写入、云函数超时(默认 20 秒)调整、控制台"云端测试"怎么用一条事件同时验证部署与代码分支。关键词:云函数部署、上传触发器、定时触发器、cron、track_daily、云端测试、最后更新时间、云端安装依赖。

一句话选型结论

按资料字段整理

微信云开发部署与定时触发器运维是运维和基础设施类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类运维和基础设施 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_0d6dc0a7/wxcloud-ops
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_0d6dc0a7仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量6.9 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查服务与日志

按现象定位服务状态与日志线索。

写部署与巡检脚本

把重复的部署、巡检写成脚本。

故障排查

按步骤排查网络、依赖与配置。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在运维和基础设施场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
微信云开发部署与定时触发器运维当前 未标注权限 未标注 未标注 未标注 有
Azure 部署 调用外部服务 GitHub 仓库 664.2 万 Codex、Claude、Cursor 有
Azure diagnostics 问题管理 调用外部服务 GitHub 仓库 657.6 万 Codex、Claude、Cursor 有
Azure aigateway 部署 调用外部服务 GitHub 仓库 655.3 万 Codex、Claude、Cursor 有
Azure AI 搜索 调用外部服务 GitHub 仓库 651.4 万 Codex、Claude、Cursor 有
Azure Cloud migrate 部署 调用外部服务 GitHub 仓库 650.7 万 Codex、Claude、Cursor 有

SKILL.md 全文

6.9 KB
模型实际读到的说明书原文,来自技能仓库

微信云开发部署与定时触发器运维

> 来源:2026-11-01/02 「情绪宝塔」访客追踪(track 聚合 + trackAggregateDaily 定时)实际施工踩坑汇总。每条都是实测结论,不是文档转述。

一、部署是否生效:唯一可信判据

  1. cloudbaserc.json / config.json 里的运行时、超时、内存都不作数。项目若一直用「微信开发者工具」提交,该文件从未被读取,线上实际值只在控制台里。禁止拿它当部署事实汇报。
  2. 判据 = 控制台「最后更新时间」与本机文件 mtime 对比:
    - 线上时间 晚于 本地 mtime ⇒ 已部署且是最新。
    - 线上时间 早于 本地 mtime ⇒ 有未部署改动,必须重传。
  3. 控制台面板会先渲染空表头、数据异步填充。未加载完就断言"没配/不存在"是假事实,必须刷新复核。措辞用"未查到,请确认"。

二、「上传并部署」三个选项

选项 何时用 备注
上传并部署:所有文件 本地有 node_modules 无 node_modules 时会弹「云函数中有以下未安装的依赖…是否确认上传?」
上传并部署:云端安装依赖(不上传 node_modules) 本地无 node_modules(最常见) 云端装依赖,最稳,推荐默认
上传触发器 触发器有改动/首次创建 与代码部署是两条独立动作

要点:
- 部署代码不会删除已存在的触发器,不必重传触发器。
- 弹「未安装依赖」确认框时,点「取消」改走「云端安装依赖」更保险(避免全量上传把云端 node_modules 顶掉)。
- 部署成功要看到「云函数上传成功」,不要切走等。

三、定时触发器:在哪建

  1. 触发器声明在 cloudfunctions/<fn>/config.json:
    json { "triggers": [ { "name": "trackAggregateDaily", "type": "timer", "config": "0 30 4 * * * *" } ] }
    cron 为 7 段(秒 分 时 日 月 周 年),北京时间。控制台展示时可能省略末尾年字段。
  2. 创建入口只有一个:微信开发者工具 → 云函数目录右键 → 「上传触发器」。
    - 网页控制台(tcb.cloud.tencent.com)触发器配置页只支持查看和删除,没有新建按钮,页面原文会写明"完整功能请在微信开发者工具中操作"。
    - 触发器列表里的「删除」是删触发器本身,不是"清理多余项",别顺手点。

四、🔴 定时跑起来却"等于没跑"的坑(最高频)

定时触发器下发的事件体是:

{ "Type": "Timer", "TriggerName": "trackAggregateDaily", "Time": "2026-11-02T04:30:00Z" }

没有 action 字段。 若云函数入口写成:

const action = event && event.action ? event.action : 'report'   // ❌

那么定时任务会走 report 分支 —— 而 report 通常要校验 OPENID,定时调用必然无 OPENID ⇒ 直接返回 {code:401},每天准时跑、每次秒退、日志里只有一条 401,聚合表永远不新增数据,且不会有人发现。

正确写法(先识别 Timer,再定默认动作):

const isTimer = !!(event && (event.Type === 'Timer' || event.TriggerName))
const action = event && event.action ? event.action : (isTimer ? 'aggregate' : 'report')

配套:聚合类 action 应加"有 OPENID 就拒绝(403)"的反向保护,防止小程序端直接调用定时专用分支。这层保护也挡住了前端伪造 {"Type":"Timer"} 的空子。

五、一条命令验证「部署 + 路由」

不用等到凌晨四点。控制台 → 云函数 → 目标函数 → 「函数代码」tab → 右上角「测试」 → 右侧面板替换事件 JSON:

{"Type":"Timer","TriggerName":"trackAggregateDaily"}

点「运行测试」,据返回判定:

返回 结论
code:0 + 业务字段(如 date:"2026-11-01") 线上已是新代码,定时链路通
code:401 缺少身份、耗时 1ms 线上仍是旧代码(未识别 Timer),需重新部署
code:403 从带 OPENID 的环境调用,event 被前端触发

这个手法同时干了两件事:确认代码版本、确认定时事件能命中正确分支。比"看控制台时间戳"更硬。

面板细节:事件编辑器默认塞的是 {"name":"test",...} Hello World 模板,全选替换即可;上方模板下拉框不用管。

六、聚合表幂等与补跑

  • 用 doc(日期字符串).set() 做 upsert(_id 即日期),补跑与定时跑都写同一行,不产生重复。
  • 记录里加 backfilled 布尔(是否手传 date)区分"按时跑的"和"事后补的";updatedAt 只记写入时刻,补跑会盖成今天,光看它分不清。
  • 补跑护栏(缺一条就会把好数据抹掉):
  • 超出明细保留期直接拒绝,不能只 warn 继续跑 —— 明细已被裁剪、读到 0 条,再 set 就把历史正确的行覆盖成全 0。
  • 读到 0 条时先 doc(date).get() 查有无既有记录,有则拒绝覆盖。
  • 回看型指标(如回流/召回,要看历史窗口)在窗口被裁掉时应写 -1 + reliable:false,不要写一个虚高的正数。

七、超时

云函数默认超时 20 秒(控制台「配置」里改,可到 60 秒)。全量扫表的聚合函数务必先改再压测,否则大环境直接 20 秒掐断,表现为"偶发失败"。

八、施工后自检清单

  • [ ] 云函数改动:node --check 过、备份到 tools/backup/、重新部署、记下控制台新时间戳
  • [ ] 定时触发器:config.json 有声明 + 开发者工具「上传触发器」 + 控制台列表能看到
  • [ ] 用 {"Type":"Timer","TriggerName":"..."} 云端测试一次,返回 code:0
  • [ ] 目标表出现预期日期那一行,backfilled / sample 与手工对账一致
  • [ ] CRLF 文件(project.config.json、云函数 index.js 若为 CRLF)禁用 Edit,改完校验「裸 LF = 0」

常见问题

5 问
答案由本站依据条目字段整理
微信云开发部署与定时触发器运维怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_0d6dc0a7/wxcloud-ops。安装方式为未标注。装完刷新技能列表或重开客户端。

微信云开发部署与定时触发器运维支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

微信云开发部署与定时触发器运维权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

微信云开发部署与定时触发器运维收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

微信云开发部署与定时触发器运维用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。