如何在单独的文件nodejs中编写cron作业
How to write cronjobs in seperate file nodejs
我想在 node.js 上编写一个每分钟运行一次的 cron 作业。我在网上看到的教程都显示 cron 作业正在写在 "App.js" 或 "server.js" 文件中,这是 nodejs 上的主要文件。
我想将它分成另一个文件以提高可读性,但我无法在网上找到任何解决方案或示例。请帮忙
我想把它写在一个单独的文件中,就像我们写我们的路线一样。
const cron = require("node-cron");
cron.schedule("* * * * *", function() {
console.log("running a task every minute");
});
是的。您可以在单独的文件中编写您的 cron-job。启动服务器时,您可以调用您的 cron 作业,就像在您的 app.js
或 server.js
中一样。您只需导出您的 cron 作业文件并在此处导入
import cronJob from "../filename.js"
server.listen(3000, () => {
cronJob.start();
});
node-cron
模拟,而不是使用 UNIX / Linux / FreeBSD cron subsystem driven by crontab 文件条目。 node-cron
产生一种错觉,即 运行 nodejs 实例中的函数可以像可执行程序一样进行调度。
如果你想将不同的 nodejs 程序安排为 cron 作业,请不要使用 node-cron
,请使用 cron。在 OS 的 crontab 中添加一个条目,提及 nodejs 程序。
您可以在 express/node.js 应用的其他地方创建和导出 javascript 模块,如下所示:
app.js
const express = require('express');
const app = express();
const port = 5000;
require('./tasks/tasks')();
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`)
});
tasks.js
const cron = require('node-cron');
module.exports = () => {
cron.schedule('* * * * *', () => {
console.log('running a task every minute');
});
}
航站楼:
[nodemon] starting `node start app.js`
App listening at http://localhost:5000
running a task every minute
文件结构:
/tasks
tasks.js
app.js
我想在 node.js 上编写一个每分钟运行一次的 cron 作业。我在网上看到的教程都显示 cron 作业正在写在 "App.js" 或 "server.js" 文件中,这是 nodejs 上的主要文件。
我想将它分成另一个文件以提高可读性,但我无法在网上找到任何解决方案或示例。请帮忙
我想把它写在一个单独的文件中,就像我们写我们的路线一样。
const cron = require("node-cron");
cron.schedule("* * * * *", function() {
console.log("running a task every minute");
});
是的。您可以在单独的文件中编写您的 cron-job。启动服务器时,您可以调用您的 cron 作业,就像在您的 app.js
或 server.js
中一样。您只需导出您的 cron 作业文件并在此处导入
import cronJob from "../filename.js"
server.listen(3000, () => {
cronJob.start();
});
node-cron
模拟,而不是使用 UNIX / Linux / FreeBSD cron subsystem driven by crontab 文件条目。 node-cron
产生一种错觉,即 运行 nodejs 实例中的函数可以像可执行程序一样进行调度。
如果你想将不同的 nodejs 程序安排为 cron 作业,请不要使用 node-cron
,请使用 cron。在 OS 的 crontab 中添加一个条目,提及 nodejs 程序。
您可以在 express/node.js 应用的其他地方创建和导出 javascript 模块,如下所示:
app.js
const express = require('express');
const app = express();
const port = 5000;
require('./tasks/tasks')();
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`)
});
tasks.js
const cron = require('node-cron');
module.exports = () => {
cron.schedule('* * * * *', () => {
console.log('running a task every minute');
});
}
航站楼:
[nodemon] starting `node start app.js`
App listening at http://localhost:5000
running a task every minute
文件结构:
/tasks
tasks.js
app.js