Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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 - Fatal编程技术网

Javascript Nodejs运行日常任务

Javascript Nodejs运行日常任务,javascript,node.js,Javascript,Node.js,我想每天运行一个nodejs函数。我几乎决定使用cron作业,而不是cron作业 问题是:如果没有db,什么是确保我不会以某种方式多次运行函数的最佳方法?我的想法是记录每次发送的时间,并在发送之前仔细阅读日志,检查我今天还没有发送的邮件。我知道节点计划的运行频率不应该超过我告诉它的频率,但有人可能会重新启动脚本或其他愚蠢的事情,我希望更加安全 注意:由于对服务器的访问有限,我无法设置数据库。一个常见的解决方案是在某处创建一个pid文件。如果pid文件存在,请尽早退出该过程。否则,创建pid文件(

我想每天运行一个nodejs函数。我几乎决定使用cron作业,而不是cron作业

问题是:如果没有db,什么是确保我不会以某种方式多次运行函数的最佳方法?我的想法是记录每次发送的时间,并在发送之前仔细阅读日志,检查我今天还没有发送的邮件。我知道节点计划的运行频率不应该超过我告诉它的频率,但有人可能会重新启动脚本或其他愚蠢的事情,我希望更加安全


注意:由于对服务器的访问有限,我无法设置数据库。

一个常见的解决方案是在某处创建一个pid文件。如果pid文件存在,请尽早退出该过程。否则,创建pid文件(向其中写入
process.pid
),并在进程退出时将其删除。

每次运行该文件时,只需向该文件写入一段简单的JSON,该文件记录了上次运行该文件的时间。在服务器启动时,读入JSON并检查它上次运行的时间。@jfriend00是的,我正在考虑类似的事情,或者只是检查我的日志文件(我总是记录请求和操作)。我只是想知道我是不是想错了:)出于好奇:为什么不使用cron?@mscdex没有特别的原因我可能仍然会这样做。但这并不是我想要解决的问题。一个原因是,如果可能的话,我会尝试将此并行运行到web服务器