【问题标题】:Executing a function on a specific date [closed]在特定日期执行功能[关闭]
【发布时间】:2022-01-01 15:11:16
【问题描述】:

我已经看到了一些解决方案,但没有一个感觉完全正确。

我正在使用 React 和 Node.js 构建一个完整的堆栈应用程序,并使用 Supabase 作为数据库。这是出于爱好目的,我可以随意切换以适应这一点,所以我愿意接受任何建议。

用户将提供一个日期,应用程序需要在该日期执行一个功能。我遇到的大部分内容都建议使用setInterval。我可能是错的,但不断运行 setIntervals 似乎并不是最有效或可扩展的做事方式。

有什么更好的管理建议吗?在服务器、数据库(Postgres),甚至是客户端?任何指向可能有帮助的文档的指针都表示赞赏。感谢您的宝贵时间。

【问题讨论】:

    标签: javascript node.js date datetime supabase


    【解决方案1】:

    周期性任务最好和最简单的方法是使用crontab

    您可以使用crontab -e进行编辑

    你可以设置cron表达式。

     # ┌────────────── second 
     # │ ┌──────────── minute
     # │ │ ┌────────── hour
     # │ │ │ ┌──────── day of month
     # │ │ │ │ ┌────── month
     # │ │ │ │ │ ┌──── day of week
     # │ │ │ │ │ │
     # │ │ │ │ │ │
     # * * * * * *
    

    This可以帮助验证

    This 是设置 crontab 的节点库

    var cron = require('node-cron');
    
    cron.schedule('* * * January,September Sunday', () => {
      console.log('running on Sundays of January and September');
    });
    

    【讨论】:

      【解决方案2】:

      您可以为此任务使用调度程序。

      选择一个适合您的需要。我更喜欢使用bull。它是轻量级的,具有附加功能。

      https://blog.logrocket.com/comparing-best-node-js-schedulers/

      【讨论】:

        猜你喜欢
        • 2017-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-18
        • 2013-10-05
        • 1970-01-01
        • 2016-11-10
        • 1970-01-01
        相关资源
        最近更新 更多