在设定的时间通过CRON运行Node JS应用程序,或者使用调度程序本身运行24/7节点应用程序是否更有效?
选项A:
选项B:
答案 0 :(得分:2)
如果您只查看每日和每周频率,我会选择一个称为NodeJS应用的CRON作业。如果该任务在5分钟内运行,那么在这几分钟内您将只拥有CPU和RAM利用率,而不是让整个NodeJS应用程序保持在内存中并且整天使用CPU资源(尽管很少)。
您不需要两个目录;您只能有一个目录,其中包含daily.js作业文件和weekly.js文件。或者您甚至可以拥有1个单个文件(index.js)并使用参数调用它来触发每日或每周作业。 在index.js中,您需要读取process.argv数组以读取传入的参数。
index.js代码如下所示:
if (process.argv[2] == "D") {
//code for daily task
} else if (process.argv[2] == "W") {
//code for weekly task
} else {
throw new Error("Invalid argument");
}
你的crontab文件看起来像这样(例如每天早上3点运行日常工作,周一早上6点运行每周工作):
0 3 * * * node /path/index.js D
0 6 * * 1 node /path/index.js W