MEAN应用程序在应用程序加载时使用API​​调用来设置与cron节点的cron作业

我正在寻找一种方法来检查我们的用户订阅每天的cron工作。 我想为此使用node-cron。 我不知道我应该把代码启动cronjob。 目前我有这样的设置:

app.js:

app.listen(config.port, function() { // Logging initialization console.log('--'); console.log(chalk.green(config.app.title)); console.log(chalk.green('Environment:\t\t\t' + process.env.NODE_ENV)); console.log(chalk.green('Port:\t\t\t\t' + config.port)); console.log(chalk.green('Database:\t\t\t\t' + config.db.uri)); if (process.env.NODE_ENV === 'secure') { console.log(chalk.green('HTTPs:\t\t\t\ton')); } console.log('--'); if (callback) callback(app, db, config); var job1 = new cron.CronJob({ cronTime: '* * * * *', onTick: function(){ app.get('/api/users/checkSubscriptions/').success(function() { console.log( 'working!') }).error(function() { console.log( 'error!') }); }, start: false, timeZone: 'Europe/Paris'}); job1.start(); }); 

users.server.routes.js

 'use strict'; module.exports = function(app) { app.route('/api/users/checkSubscriptions/') .get(subscriptionCheck.checkSubscriptions); }; 

的cronjob,subscription.server.controller

 var mongoose = require('mongoose'), User = mongoose.model('User'); exports.checkSubscriptions = function() { User.findAll(function(err, users) { if(err) { console.log(err); } else { for(var i = 0;i< users.length; i++) { var user = users[i]; console.log(user); } } }); } 

目前我只想打印用户到控制台来检查这是否工作。 用app.js中的当前代码,我得到以下错误:

 app.get('/api/users/checkSubscriptions/').success(function() { ^ TypeError: app.get is not a function 

你可以请教build议如何在初始化应用程序时,在cronjob中进行API调用?

我设法通过在我的server.js文件中添加代码来代替app.js文件。 在server.js中,我现在有以下(相关)代码:

 var app = require('./config/lib/app'), cron = require('cron'); var server = app.start(function(req, res) { var job1 = new cron.CronJob({ cronTime: '00 30 07 * * 1-7', onTick: function() { //function execution }, start: false, timeZone: 'Europe/Paris' }); job1.start();