定期从 Firebase 中删除数据

Ned*_*vić 2 firebase swift firebase-realtime-database

我正在开发一个允许将数据发布到 Firebase 的社交 iOS 应用程序。但是,我想清除所有超过 1 小时的帖子。一个很好的例子是 Instagram Story,其中图片在 24 小时后被删除。我正在考虑的方法包括提交 startTime 和 endTime 时间戳并在 endTime 超过当前时间后删除客户端数据。另一方面,这将需要 24/7 用户的活动,因为如果用户不经常打开应用程序,他们的数据将永远不会被删除。我相信我需要一个服务器来处理这个问题。我恳请您提供有关如何实现此服务器端的建议和帮助 - 因为我相信这是唯一可能的方法。

tor*_*ers 6

解决方案 1 - 云函数

登录 firebase,然后选择您的应用,您现在将进入应用概览页面。选择云功能项。这将允许您基于触发器执行一些 javaScript,有许多不同类型的触发器,例如数据库触发器或身份验证触发器。在这种情况下,您希望触发器基于时间。

那就是这个:

在此处输入图片说明

Firebase 比我在下面更好地解释了云功能:

在您编写并部署一个函数后,Google 的服务器会立即开始管理该函数、侦听事件并在它被触发时运行该函数。随着负载的增加或减少,Google 会通过快速扩展运行您的函数所需的虚拟服务器实例数量来做出响应。

函数的生命周期

开发人员为新函数编写代码,选择事件提供程序(例如实时数据库),并定义函数应执行的条件。开发人员部署该函数,Firebase 将其连接到选定的事件提供程序。当事件提供程序生成与函数条件匹配的事件时,将调用代码。如果函数忙于处理许多事件,Google 会创建更多实例以更快地处理工作。如果函数空闲,则清理实例。当开发人员通过部署更新的代码来更新功能时,旧版本的所有实例都会被清理并替换为新实例。当开发者删除函数时,所有实例都被清理干净,函数和事件提供者之间的连接也被移除。

来源:https : //firebase.google.com/docs/functions/

解决方案 2 - 服务器 + Cron 作业(我的偏好)

  1. 按月订阅购买便宜的服务器(不需要任何花哨的东西应该是每月几美元),但很难找到允许 Cron 工作的免费服务器。

  2. 编写一个脚本,连接到 firebase 数据库并删除所有超过一个小时的帖子。

  3. 在您的服务器仪表板/控制面板上创建一个计划每小时运行的新 Cron 作业,并将其指向您刚刚编写的脚本。


归档时间:

查看次数:

1340 次

最近记录:

5 年,4 月 前