【发布时间】:2020-11-01 22:19:00
【问题描述】:
我正在尝试每天在上午 9 点到下午 5 点之间运行一个 Javascript 文件,我想知道是否有使用 cron 或其他方法的正确方法。下午 5 点,我希望运行脚本结束,就像我在终端中按 ctrl-c 一样。第二天早上,它会自动重启。
【问题讨论】:
标签: javascript node.js cron
我正在尝试每天在上午 9 点到下午 5 点之间运行一个 Javascript 文件,我想知道是否有使用 cron 或其他方法的正确方法。下午 5 点,我希望运行脚本结束,就像我在终端中按 ctrl-c 一样。第二天早上,它会自动重启。
【问题讨论】:
标签: javascript node.js cron
一个选项是为您的脚本 like this 创建一个 systemd 服务文件,然后您可以使用 cron 在需要的时间启动和停止该服务。
【讨论】:
这可以通过将任务分为两个步骤来完成
- 将安排一个cron 作业,每天早上 9 点启动节点进程。为此,假设您有一个名为 script.js 的节点文件,它的位置是 /home/user/example/script.js,那么将使用以下命令来运行它每天每天上午 9 点
* 9 * * * /usr/local/bin/node /home/user/example/script.js
- 现在每天下午 5 点关闭脚本,这可以使用setTimeout 函数隐式完成。下面是要在 script.js 中编写的代码
setTimeout((function() {
return process.exit(1);}), 28,8000,000);//28,8000,000 Milliseconds
这样,script.js 将在每天上午 9 点开始执行,并在下午 5 点停止。
【讨论】: