微信小程序云开发增加定时任务

举报
青年码农 发表于 2022/08/25 00:55:32 2022/08/25
【摘要】 关注“青年码农”,回复“特效“ 获取各种资料粒子特效、可视化等源码 之前业余时间,开发了一个微信小程序【时间胶囊】,其中有个功能是用户在发布胶囊的时候,会要求用户订阅消息,云开发后台定时轮询,满足条件,触发云函数,将消息推送给用户。这个功能用到了小程序的定时触发器。 官方文档写的也比较清楚,用法简单,首先,我们要有云函数,或者说你新建...

关注“青年码农”,回复“特效

获取各种资料粒子特效、可视化等源码

之前业余时间,开发了一个微信小程序【时间胶囊】,其中有个功能是用户在发布胶囊的时候,会要求用户订阅消息,云开发后台定时轮询,满足条件,触发云函数,将消息推送给用户。这个功能用到了小程序的定时触发器。

75052e64f5a4bc5d9b52b634b03f5df4.png

官方文档写的也比较清楚,用法简单,首先,我们要有云函数,或者说你新建云函数,新建完成之后会生成config.json、index.js、package.json,index.js这个文件云函数的主文件,所有的逻辑都写在这里面,package.json项目依赖清档,这里我们用不到,config.json这个文件是本文用到的,如果你在生成云函数的时候没有生成config.json文件,可以手动创建。

b4ac7d60f135079eaca3486e6e84d8b0.png

上面图片目录下文件多出来的几个是由于我使用了云函数本地调试,云函数我们就正常开发即可,这个定时任务最后加是没问题的。

ff2419b6b546da149468135eaacb7b5b.png

1. name

之前在小程序社区看到有人说,这个name要和云函数的名字保持一致,这个是不需要的,只要保证这个名字和其它的定时任务的名字不一致即可,

2. type

type: 触发器类型,目前仅支持 timer (即 定时触发器)

3. config

Cron 表达式,这个要是想了解的话,去小程序文档中查看吧,写的很详细,这里我们就简单写几种。

## 表示每5秒触发一次
*/5 * * * * *
## 表示在每月的1日的凌晨2点触发
* *
## 表示在周一到周五每天上午10:15触发
* *
## 表示在每天上午10点,下午2点,4点触发
* * * *
## 表示在每天上午9点到下午5点内每半小时触发
*/30 9-17 * * *
## 表示在每个星期三中午12点触发
* *

配置完了不代表就已经可以用了,需要上传触发器,config.json文件,右击选择上传触发器。这个和你当前的环境有关,切换环境后还需要重新上传。此时已经可以根据你设置的规则触发了。

你以为这就完了?

6b22d378a1aec853208f1254c6b35512.png

测试下来你会发现,本地测试始终是好的,但是当发布或者预览,是一定有问题的,因为你漏看了下面的。

c66f2c60ce4013df1c2eea8a731be2eb.png

云函数中的时区为 UTC+0,不是 UTC+8,而触发器的规则时区是UTC+8,这就会导致,始终是差8个小时。因此需要配置函数的环境变量,设置 TZ 为 asia/shanghai。

6c2b412e0d6f6bdd45a874600bda6bef.png

38169e92bae7c12fa6d747e7c46f6679.png

2392b2d72d72bf49074c97008b289272.png

如果你小程序有多个环境,每个环境都需配置。这操作下来,基本就没问题了,就可以愉快的玩耍了。




文章来源: blog.csdn.net,作者:NMGWAP,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/NMGWAP/article/details/124998877

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。