在特定时刻调用 NodeJs 函数
Call NodeJs function at a specific moment in time
有没有办法自动化函数并使用 Node.Js 及时在特定的地方调用它们?更准确地说,我想用节点js创建一个提醒。当我收到用户的日期时,我必须发送通知以提醒他/她一些事情。
我知道setTimeout()函数,但是当我拥有大型用户数据库时,这真的是好主意吗?
谢谢。
您可以使用
setTimeout()
并将所有工作保留在服务器中,但对于大量用户,您不一定希望为每个用户设置超时。 您真正需要的只是需要通知的下一个用户的单个超时。 当该计时器触发时,您可以为需要通知的下一个用户设置一个计时器,依此类推。
这可以通过按通知时间排序的对象数组来完成。 每次向数组添加内容时,您都会取消当前计时器,将新通知添加到数组中,对数组进行排序并为最早的通知设置计时器。
当计时器触发时,从数组中删除该项并计划下一个项。
而且,由于您可能希望它在服务器重新启动后继续存在,因此每次修改通知数组时,您都将通知数组(可能采用 JSON 格式)保存到文件或数据库中,以便在服务器重新启动时重新加载该数据。
仅供参考,有用于节点的调度模块.js如果您更喜欢选择其他人已经编写的代码,它们已经提供了这种类型的功能。
其中一些模块的示例:
节点-cron
议程
节点计划
你正在寻找的被称为调度程序或cron作业(它的起源来自Linux操作系统)。
在 NodeJS 中,你可以找到实现相同想法的节点调度。
相关文章:
- NodeJS:函数与匿名函数
- 在特定时刻调用 NodeJs 函数
- 如何获取以编程方式定义nodejs函数的位置
- 将变量传递给nodejs函数
- 带有 NodeJS 函数的 AngularJS
- 是否有可能将NodeJS函数转换为纯Javascript
- 访问 expressJs 静态 HTML 中的 nodejs 函数
- nodejs 函数中的异步混淆
- Nodejs函数在内部函数完成之前返回
- 在package.json脚本中调用特定的NodeJS函数
- NodeJS函数执行命令
- 从同一个文件和不同的文件调用nodejs函数
- 暂停nodejs函数以获取其他函数的响应
- nodejs函数不返回值
- 在nodejs函数中测试回调
- 参数是如何在nodejs函数中传递的
- 从文件中获取行- NodeJS函数
- NodeJS函数范围外的变量
- DNODE是一种让Java调用NodeJS函数的方法
- NodeJS函数返回语句