在特定日期执行函数



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

我正在用React和Node.js构建一个全栈应用程序,并使用Supadase作为数据库。这是出于业余爱好,我可以随时更换以适应这种情况,所以我愿意接受任何建议。

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

有什么建议可以更好地管理这件事吗?在服务器、数据库(Postgres(,甚至客户端上?任何可能对您有所帮助的文档都将不胜感激。谢谢你抽出时间。

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

您可以使用调度器执行此任务。

选择一个适合你需要的。我更喜欢使用bull。它重量轻,有其他功能。

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

最新更新