我如何 运行 我的节点 js 脚本自动使用服务器上的调度程序
How can I run my node js script automatically using scheduler on server
我使用 express 环境创建了一个 nodejs 文件,并使用 nodemon 在服务器上运行创建了该文件。目前我必须向接口发出命令 运行 nodemon 上的特定文件,但我目前需要的是在一天内多次自动将任务安排到服务器上的 运行 该文件。
我的文件在终端上是这样执行的::
nodemon example_api.js
输出终端:
root@*********:/var/www/example project# nodemon example_api.js
[nodemon] ##.##.#####
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node api.js`
Listening on port 8080
注意:我目前 运行正在使用 windows 的 Mobaxterm 终端上的 node js,但我的文件将 运行 在 [=28] 的服务器上=]界面
对于简单的实现 - 您可以像这样使用 setInterval
:
setInterval(() => {
// do something every 5 seconds
}, 5000);
但是如果你想要像 cron 这样的东西,那么,你可能想要 node-cron or node-schedule。
您还可以使用 AWS CloudWatch 等提供商。 AWS CloudWatch 允许您在 cron 上 运行 AWS Lambda 函数。
1.如果你想 运行 你的节点连续处理并且只想 运行 特定任务:
在需要的时间或间隔使用 node-schedule or node-cron 包 运行 您的代码块。
i.node-schedule
var schedule = require('node-schedule');
var j = schedule.scheduleJob('*/30 * * * * ', function(){
console.log('The answer to life, the universe, and everything!');
});
ii.node-cron
var cron = require('node-cron');
cron.schedule('*/30 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});
2。如果你只想运行单节点脚本:
您可以使用 Linux crontab 在需要的时间执行您的脚本
crontab -e
并添加以下条目
*/30 * * * * /usr/local/bin/node /home/ridham/example/script.js
这将每 30 分钟执行一次 /home/ridham/example/script.js
。并始终在此处提供完整的限定路径。
您必须在以下任何一项中提供 crontime。你可以了解 crontime here
我使用 express 环境创建了一个 nodejs 文件,并使用 nodemon 在服务器上运行创建了该文件。目前我必须向接口发出命令 运行 nodemon 上的特定文件,但我目前需要的是在一天内多次自动将任务安排到服务器上的 运行 该文件。
我的文件在终端上是这样执行的::
nodemon example_api.js
输出终端:
root@*********:/var/www/example project# nodemon example_api.js
[nodemon] ##.##.#####
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node api.js`
Listening on port 8080
注意:我目前 运行正在使用 windows 的 Mobaxterm 终端上的 node js,但我的文件将 运行 在 [=28] 的服务器上=]界面
对于简单的实现 - 您可以像这样使用 setInterval
:
setInterval(() => {
// do something every 5 seconds
}, 5000);
但是如果你想要像 cron 这样的东西,那么,你可能想要 node-cron or node-schedule。
您还可以使用 AWS CloudWatch 等提供商。 AWS CloudWatch 允许您在 cron 上 运行 AWS Lambda 函数。
1.如果你想 运行 你的节点连续处理并且只想 运行 特定任务:
在需要的时间或间隔使用 node-schedule or node-cron 包 运行 您的代码块。
i.node-schedule
var schedule = require('node-schedule');
var j = schedule.scheduleJob('*/30 * * * * ', function(){
console.log('The answer to life, the universe, and everything!');
});
ii.node-cron
var cron = require('node-cron');
cron.schedule('*/30 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});
2。如果你只想运行单节点脚本:
您可以使用 Linux crontab 在需要的时间执行您的脚本
crontab -e
并添加以下条目
*/30 * * * * /usr/local/bin/node /home/ridham/example/script.js
这将每 30 分钟执行一次 /home/ridham/example/script.js
。并始终在此处提供完整的限定路径。
您必须在以下任何一项中提供 crontime。你可以了解 crontime here