我想在每分钟运行一次的 node.js 上编写一个cron作业。我在网上查看的所有教程都显示cron作业是在“ App.js”或“ server.js”文件中编写的,这是nodejs上的主要文件。
我想将其分离到另一个文件中以提高可读性,但是我找不到在线任何解决方案或示例。请帮忙。
我想将其写在一个单独的文件中,就像编写路线一样。
([xml](svn info --xml)).info.entry.URL
答案 0 :(得分:1)
是的。您可以在separte文件中编写您的cron-job。启动服务器时,您可以像在app.js
或server.js
中那样调用cron作业。您只需导出您的Cron作业文件并在此处进行查询
import cronJob from "../filename.js"
server.listen(3000, () => {
cronJob.start();
});
答案 1 :(得分:0)
node-cron
模拟而不是使用cron文件条目驱动的UNIX / Linux / FreeBSD crontab子系统。 node-cron
产生了一种幻觉,即可以对正在运行的nodejs实例中的功能进行调度,就好像它们是可执行程序一样。
如果您要安排其他的nodejs程序作为cron作业,请不要使用node-cron
,而要使用cron。在操作系统的crontab中添加一个提及nodejs程序的条目。
答案 2 :(得分:0)
您可以像这样在 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