我有一个快速的iPhone应用程序与Google Firebase配对。在应用程序内,用户将完成一个动作(按一个按钮)。在这一点上,我想安排一个Google Firebase Function在用户操作后45分钟运行。但是,我希望在iPhone应用程序中完成另一项操作(按一个按钮)时可以取消此功能。我可以使用计时器迅速完成此操作,但是如果用户关闭应用程序,那将无法正常工作。
我不反对使用第三方调度程序或类似的程序。欢迎任何建议。
我研究了可能重复的问题和答案(Cloud Functions for Firebase trigger on time?)。但是,该答案中的大多数链接已被弃用且已过时。同样,这是指重复安排某些事情。例如,每小时,每天一次等...我希望在触发(用户操作)后45分钟安排该作业,并能够在45分钟内取消该作业。
答案 0 :(得分:0)
没有内置的方法可以延迟云功能上的触发,或在特定延迟后重新触发。我想到使用Cloud Functions的最佳方法是设置一个定期触发,如下所示:Cloud Functions for Firebase trigger on time?。然后,在该定期触发器中,您确定必须运行哪些作业。
答案 1 :(得分:0)
只要您可以通过http请求调用Firebase函数,就可以使用https://delayedrequest.com。
答案 2 :(得分:0)
我最近遇到了类似的问题,可以通过使用Cloud Scheduler和Firestore来解决。我设置了一个作业,该作业每5分钟触发一次云功能,该功能将检查Firestore集合。它将在何时触发云功能时检索数据并触发它。这也取决于您希望时间触发的精确度。无缘无故地一直触发它并不是最佳选择,但就我而言,它确实有效。
答案 3 :(得分:0)
延迟 Cloud Task 对您有用吗?
您可以create a Cloud Task that is delayed 并通过 HTTP 触发器调用您的函数。如果您的用户执行您描述的第二个操作,则可以取消该任务。有许多用于 Cloud Tasks 的专用 client libraries,以及一个 REST API。