在特定日期执行功能

Executing a function on a specific date

我已经看到了一些解决方案,但是 none 感觉很正确。

我正在使用 React 和 Node.js 构建一个全栈应用程序,并使用 Supabase 作为数据库。这是出于业余爱好,我可以切换任何东西来适应这个,所以我愿意接受任何建议。

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

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

周期性任务最好最简单的方法是使用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');
});

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

选择适合您的 need.i 更喜欢使用 bull。它是轻量级的,具有附加功能。

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