微信小程序开发:循环定时删除阿里云oss上传的文件

上文有说到我们开发了定时删除阿里云oss的功能,但是一次只能删除10条。

本文我们做到一次删除全部过期的文件。

实现:使用while循环,在循环里获取是否还有已过期的,没有就break掉,有就走删除逻辑。

开始代码部分:

逻辑还是比较简单的,一个while循环,每次查找20条已过期的数据,如果没有则结束while循环,存在则进入for循环删除,分别记录删除成功、失败的数量,但是有个问题,如果一直删除失败,那么就会一直陷入死循环了。

超时了:

我们把这个云函数的运行超时设置长一点:

现在的问题是,我设置了很长的超时时间,但是还是会很快就超时了:

客户度调用也是超时:

网上也没有太好的资料。

重新整理一下流程,我是在一个云对象里调用另一个云对象的方法。

我在删除的代码里加了一个try catch:

捕获到的异常为:

说delete_file方法没有在引用的云对象里,但是这个云对象我是已经上传部署了的。

重新部署一下aliyun-api这个云对象,因为这个云对象依赖了两个包,所以会部署时间长点。

可以了,可以了,问题解决!

问题的根源可能是因为云对象没有部署完整导致的。

下一期文章我将继续完善两个通道之间的切换问题,以及页面的控制可以通过配置更改,如:两个通道的启用、通道二的风格选项的启用、每个通道的分享标题和图片等等配置。

小程序名:《一方云知》。欢迎大家使用,人像动漫化接口是免费使用的。

这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

相关推荐
冬奇Lab12 分钟前
每日一个开源项目(第137篇):Penpot - 真正开源的设计协作工具,SVG 原生格式消灭设计-开发鸿沟
前端·开源·设计
nuIl30 分钟前
实现一个 Coding Agent(7):Skills
前端·agent·cursor
nuIl35 分钟前
实现一个 Coding Agent(8):会话持久化与多会话
前端·agent·cursor
jt君424262 小时前
React Native JSI 深入剖析 — 第 5 部分中文技术整理:用 HostObject 把 C++ 类暴露给 JavaScript
前端·react native
胡萝卜术2 小时前
滑动窗口最大值:从暴力到单调队列,层层优化全解析
前端·javascript·面试
fluffyox2 小时前
Notion 的公式栏里,藏着一台虚拟机——逆向 + 用 600 行 JS 复刻它的编译器与栈式 VM
前端
kyriewen3 小时前
2026 年了,这 6 个 npm 包可以卸载了——浏览器原生 API 已经能替代
前端·javascript·npm
Csvn5 小时前
Monorepo 迁移血泪史:从 Multi-Repo 到 Turborepo,这 3 个坑我帮你踩完了
前端
星栈6 小时前
Dioxus 多页面怎么做:`dioxus-router`、嵌套路由、`Outlet` 和页面组织,一篇给你讲顺
前端·rust·前端框架
用户987409238876 小时前
用 Remotion + edge-tts 打造中文教学视频全自动流水线
前端