我希望能够启动一个 Node 服务器,每天早上 8 点在本地主机中加载一个页面,运行服务器几分钟(因为我正在根据页面上加载的内容发送电子邮件),然后执行每天重复一次。关于使用最少的工具有效地执行此操作的任何指示? 我可以使用的工具有 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)
});
> path_to_app/logs/log-file-$(date).txt
这也会将您的 nodejs 脚本的日志写入文件
更新:
1 8 * * * google-chrome http://localhost:3000/startjob
关于javascript - 启动 Node 服务器,每天在特定时间加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57012690/