javascript - 启动 Node 服务器,每天在特定时间加载页面

标签 javascript node.js windows bash

我希望能够启动一个 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 脚本的日志写入文件

enter image description here

更新:

  1 8 * * * google-chrome http://localhost:3000/startjob

关于javascript - 启动 Node 服务器,每天在特定时间加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57012690/

相关文章:

node.js - “工作完成”事件未在 Kue 中触发

javascript - 将 JSON 对象发送到客户端时,响应中未定义值 - Node.js

c# - 将 WinForms 窗体设置为 WPF 窗口的所有者

java - 如何执行终端PITest?

java - 将 Canvas 的内容发送到 Java 服务器并将其保存为图像

javascript - 如何重新创建此背景淡入/弹出效果图标按钮?

javascript - 如何在主页标题中添加按钮链接,但与其他页面不同?

windows - 升级到Windows 10 18.09(十月更新)后,Rode NT-USB麦克风的音频质量较差

javascript - 如何遍历对象文字数组,连接共享重复 id 的值?

javascript - 使用 jQuery 选择和替换嵌入式样式