【问题标题】:Node.js Express app.get() doesn't work in cronNode.js Express app.get() 在 cron 中不起作用
【发布时间】:2015-11-25 22:17:07
【问题描述】:

我想制作一个 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”,没有第二个“executed”消息。问题出在哪里,我的方法有什么问题?谢谢:)

【问题讨论】:

    标签: javascript node.js express cron


    【解决方案1】:

    http://expressjs.com/4x/api.html#app.get

    app.get() 仅将您的 HTTP GET 请求路由到指定的回调。

    没有 HTTP 请求,因此没有调用任何内容。

    您不需要 express 框架来将回调传递给 cronjob。

    假设您使用 node-cron,因此请查看该项目的文档以正确编写 cron 作业

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 2014-05-08
      • 2012-11-08
      相关资源
      最近更新 更多