Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在特定时刻调用NodeJs函数_Javascript_Node.js_Task - Fatal编程技术网

Javascript 在特定时刻调用NodeJs函数

Javascript 在特定时刻调用NodeJs函数,javascript,node.js,task,Javascript,Node.js,Task,有没有一种方法可以自动执行函数,并使用Node.Js在特定时刻调用它们?更准确地说,我想用NodeJS创建一个提醒。当我收到用户的日期时,我必须发送通知提醒他/她一些事情 我知道setTimeout()函数,但当我有大量的用户数据库时,这真的是个好主意吗 多谢各位 您正在寻找的被称为调度程序或cron作业(其来源于Linux操作系统) 在NodeJS中,您可以找到实现相同想法的方法。您正在寻找的被称为调度程序或cron作业(其来源于Linux操作系统) 在NodeJS中,您可以找到实现相同想法的

有没有一种方法可以自动执行函数,并使用Node.Js在特定时刻调用它们?更准确地说,我想用NodeJS创建一个提醒。当我收到用户的日期时,我必须发送通知提醒他/她一些事情

我知道setTimeout()函数,但当我有大量的用户数据库时,这真的是个好主意吗


多谢各位

您正在寻找的被称为调度程序或cron作业(其来源于Linux操作系统)


在NodeJS中,您可以找到实现相同想法的方法。

您正在寻找的被称为调度程序或cron作业(其来源于Linux操作系统)


在NodeJS中,您可以找到实现相同想法的方法。

您可以使用
setTimeout()
并将所有工作保留在服务器中,但对于大量用户,您不一定要为每个用户设置超时。您真正需要的只是下一个需要通知的用户的一个超时。当该计时器启动时,然后为需要通知的下一个用户设置计时器,以此类推

这可以通过按通知时间排序的对象数组来完成。每次向数组中添加内容时,都会取消当前计时器,向数组中添加新通知,对数组进行排序,并为最早的通知设置计时器

当计时器触发时,您将从阵列中删除该项并计划下一项

而且,由于您可能希望它在服务器重新启动后继续存在,因此每次修改时都会将通知数组(可能是JSON格式)保存到文件或数据库中,以便在服务器重新启动时重新加载该数据

仅供参考,node.js的调度模块已经提供了这种类型的功能,如果您希望选择其他人已经编写的代码

其中一些模块的示例:


您可以使用
设置超时()
并将所有工作保留在服务器内,但对于大量用户,您不一定要为每个用户设置超时。您真正需要的只是下一个需要通知的用户的一个超时。当该计时器启动时,然后为需要通知的下一个用户设置计时器,以此类推

这可以通过按通知时间排序的对象数组来完成。每次向数组中添加内容时,都会取消当前计时器,向数组中添加新通知,对数组进行排序,并为最早的通知设置计时器

当计时器触发时,您将从阵列中删除该项并计划下一项

而且,由于您可能希望它在服务器重新启动后继续存在,因此每次修改时都会将通知数组(可能是JSON格式)保存到文件或数据库中,以便在服务器重新启动时重新加载该数据

仅供参考,node.js的调度模块已经提供了这种类型的功能,如果您希望选择其他人已经编写的代码

其中一些模块的示例:


我将把通知例程变成一个微服务,并让一个cron作业执行该服务,该服务在运行时查找要发送的通知,一旦发送就将其清除。这样,如果服务器重新启动,您就不会丢失设置超时。好主意,非常感谢。muchi将把通知例程变成一个微服务,并让一个cron作业执行该服务,该服务在运行时查找要发送的通知,发送后将其清除。这样,如果服务器重新启动,您就不会丢失设置超时。好主意,非常感谢