簡體   English   中英

Node.js Express app.get()在cron中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM