我想制作一个10分钟的cron,它正在执行一些动作,但首先,我遇到了如何简单地调用动作的问题。我正在使用MEAN.js框架。我的方法如下:
server.js,位于底部
new CronJob('* */10 * * * *', function() {
console.log("CronJob executed");
app.get('/cronBarbarianAttack', function(req, res) {
});
}, null, true);
cron.server.routes.js
'use strict';
module.exports = function(app) {
var cron = require('../../app/controllers/cron.server.controller');
// Cron Routes
app.route('/cronBarbarianAttack').get(cron.barbarianAttack);
};
cron.server.controller.js
'use strict';
var mongoose = require('mongoose'),
errorHandler = require('./errors.server.controller'),
Game = mongoose.model('Game'),
_ = require('lodash');
exports.barbarianAttack = function(req, res) {
console.log("executed");
res.json(null);
};
但这并没有调用控制器功能。它只打印到控制台“CronJob Executed”,没有第二个“已执行”消息。问题在哪里以及我的方法有什么问题?谢谢:))
答案 0 :(得分:0)
http://expressjs.com/4x/api.html#app.get
app.get()仅将您的HTTP GET请求路由到指定的回调。
没有HTTP请求,因此没有调用任何内容。
您不需要快速框架来将回调传递给cronjob。
假设您使用node-cron,因此请检查此项目的文档以正确编写cron作业