gpt4 book ai didi

javascript - 如何创建动态计划任务?

转载 作者:行者123 更新时间:2023-12-03 09:38:09 24 4
gpt4 key购买 nike

我正在尝试创建一个模拟在酒吧打开标签的应用程序。我遇到了一个我似乎无法弄清楚的问题 - 它如下:

  • 当有人打开一个栏选项卡时,动态创建一个计划任务,该任务执行代码以在 24 小时后关闭选项卡。
  • 如果选项卡在 24 小时前关闭,请取消计划任务。
  • 如果标签在 24 小时后没有关闭,请执行步骤 1 中描述的代码以在用于打开标签的卡上启动付款。

  • 我最初正在研究 Firebase 函数,并正在考虑使用 setTimeout() 可调用函数,但在做了一些研究后,我发现 Firebase 函数的调用时间不能超过 9 分钟。
    注意:我希望这是动态的。意思是,让它占不同数量的用户。平台上可能有 100 或 1000 个用户,每个用户都需要能够为他们设置一个唯一的计划任务(有时每个用户多个)。

    最佳答案

    请参阅完整解决方案的评论。
    有多种方法可以规避 10 分钟规则(这在无服务器代码中很普遍),但这里有一些可以帮助您的方法。我建议将任务分为三个:

  • 调用时关闭选项卡的云函数。
  • 调用它的调度函数 ( https://firebase.google.com/docs/functions/schedule-functions )
  • 一种启动和停止计划功能的方法。

  • 我不确定 firebase 函数是如何工作的,但我之前使用过 azure 函数,并且可以使用命令行 (CLI) 或使用您选择的语言的 sdk 来控制这些函数。要使用命令行取消,请尝试以下操作:
    firebase functions:delete scheduledFunction
    来自 How to cancel a scheduled firebase function? .
    现在剩下的是如何弄清楚如何启动函数,以及是否可以传入参数来调度它。
    祝你好运!

    关于javascript - 如何创建动态计划任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65375531/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com