Javascript 启动节点服务器,在每天的特定时间加载页面
我希望能够启动一个节点服务器,每天早上8点在localhost中加载一个页面,运行服务器几分钟(因为我根据页面上加载的内容发送电子邮件),然后每天重复执行相同的操作。有没有关于用最少的工具有效地完成这项工作的建议?Javascript 启动节点服务器,在每天的特定时间加载页面,javascript,node.js,windows,bash,Javascript,Node.js,Windows,Bash,我希望能够启动一个节点服务器,每天早上8点在localhost中加载一个页面,运行服务器几分钟(因为我根据页面上加载的内容发送电子邮件),然后每天重复执行相同的操作。有没有关于用最少的工具有效地完成这项工作的建议? 我可以使用的工具有bash脚本、nodejs和我安装的窗口机器中可用的工具。您可以使用这个nodejs包,但一旦服务器终止,就很难重新运行服务器 因此,选项是cron作业和nodejs代码的一些修改 您需要创建两个cron作业 一个将启动nodejs服务器 第二个将到达终点 cr
我可以使用的工具有bash脚本、nodejs和我安装的窗口机器中可用的工具。您可以使用这个nodejs包,但一旦服务器终止,就很难重新运行服务器 因此,选项是cron作业和nodejs代码的一些修改 您需要创建两个cron作业
- 一个将启动nodejs服务器
- 第二个将到达终点
crontab-e
然后创造
#this will start every day at 08:00 am
0 8 * * * node /path_to_app/app.js > /path_to_app/logs/log-file-$(date).txt
# this will start everyday at 08:01 am
1 8 * * * curl http://localhost:3000/startjob
你的nodejs代码
app.use('/startjob', function(req,res){
console.log("starting job");
// do steps here
res.send("job done")
console.log("going to exit node process");
var date = new Date();
var current_hour = date.getHours();
console.log(date)
process.exit(0)
});
这也会将节点脚本的日志写入文件>路径\u到\u app/logs/log file-$(date).txt
1 8 * * * google-chrome http://localhost:3000/startjob
这可能是最好使用计划任务来完成的。好的,谢谢。对我来说,使用带有扩展的chrome来加载页面内容也很重要。我能用这个设置实现吗?抱歉,在最初的问题中没有提到这条信息。是的,当然,您只需更改第二个cron作业
18***谷歌浏览器即可http://localhost:3000/startjob
这将打开一个浏览器,您需要激活打开页面上的扩展。由于某些原因,我的Mac上的crontab无法工作。我将在另一台机器上试用,并发布结果,修复crontab问题,建议在MacOS.awsome上运行。很高兴认识@neelmeg