gpt4 book ai didi

javascript - MEAN 应用程序通过 API 调用在应用程序加载时使用 node-cron 设置 cron 作业

转载 作者:太空宇宙 更新时间:2023-11-04 01:59:42 25 4
gpt4 key购买 nike

我正在寻找一种方法来每天使用 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

您能否建议我在初始化应用程序时如何在 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();

关于javascript - MEAN 应用程序通过 API 调用在应用程序加载时使用 node-cron 设置 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46524596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com