[英]Node.js Express app.get() doesn't work in cron
我想做一個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已執行”,而沒有第二條“已執行”消息。 問題出在哪里,我的方法出了什么問題? 謝謝 :)
http://expressjs.com/4x/api.html#app.get
app.get()僅將您的HTTP GET請求路由到指定的回調。
沒有HTTP請求,因此未調用任何內容。
您不需要快速框架即可將回調傳遞給cronjob。
假設您使用node-cron ,那么請檢查該項目的文檔以正確編寫cron作業
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.