node.js Web 应用程序中的 cron 作业
node.js cron job in web app
我使用 express.js 和 'cron' 模块进行自动数据库更新,所以我不知道应该在哪里添加我的 cron init 代码,所以我将它添加到我的 'bin/www' 中,但是服务器启动后,它每隔几秒发送一次垃圾邮件(但我需要每 2 分钟发送一次),但如果我在 5 上更改 2,它就永远不会启动。
这是我的 cron 更新 js:
var catalogUpdater = require('../utils/catalogUpdater');
var descriptionDownloader = require('../utils/descriptionDownloader');
var CronJob = require('cron').CronJob;
var job = new CronJob('* */2 * * * *', function(){
console.log('started');
},
function(){console.log('stop')},
true);
module.exports = job;
这是我的“bin/www”代码:
var app = require('../app');
var debug = require('debug')('shopnagby:server');
var http = require('http');
var config = require('../config');
var job = require('../cron/updateCron'); // include job updateCron to server startup;
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(config.get("port"));
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
.....
我应该把 updateCron 脚本放在哪里?
您的 cron 语法不正确。 Correct syntax 只有 5 个字段:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 0-31
month 0-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
每两分钟到运行:
var job = new CronJob('*/2 * * * *', function(){
console.log('started');
},
function(){console.log('stop')},
true);
我使用 express.js 和 'cron' 模块进行自动数据库更新,所以我不知道应该在哪里添加我的 cron init 代码,所以我将它添加到我的 'bin/www' 中,但是服务器启动后,它每隔几秒发送一次垃圾邮件(但我需要每 2 分钟发送一次),但如果我在 5 上更改 2,它就永远不会启动。 这是我的 cron 更新 js:
var catalogUpdater = require('../utils/catalogUpdater');
var descriptionDownloader = require('../utils/descriptionDownloader');
var CronJob = require('cron').CronJob;
var job = new CronJob('* */2 * * * *', function(){
console.log('started');
},
function(){console.log('stop')},
true);
module.exports = job;
这是我的“bin/www”代码:
var app = require('../app');
var debug = require('debug')('shopnagby:server');
var http = require('http');
var config = require('../config');
var job = require('../cron/updateCron'); // include job updateCron to server startup;
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(config.get("port"));
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
.....
我应该把 updateCron 脚本放在哪里?
您的 cron 语法不正确。 Correct syntax 只有 5 个字段:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 0-31
month 0-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
每两分钟到运行:
var job = new CronJob('*/2 * * * *', function(){
console.log('started');
},
function(){console.log('stop')},
true);