0

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

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

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

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

4

2 回答 2

1

定期任务的最佳和简单方法是使用crontab

您可以使用编辑crontab -e

您可以设置 cron 表达式。

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

可以帮助验证

是设置 crontab 的节点库

var cron = require('node-cron');

cron.schedule('* * * January,September Sunday', () => {
  console.log('running on Sundays of January and September');
});
于 2021-11-23T05:01:59.450 回答
1

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

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

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

于 2021-11-23T05:24:46.487 回答