Прошло несколько дней, когда я начал изучать Node JS.Как реализовать задание cron (используя расписание узлов) в приложении Node JS
У моего приложения Node JS есть get api, который извлекает информацию из базы данных MongoDB в формате json при запуске URL-адреса http: // localhost: portnumber/mybooks.
В схеме книги есть четыре поля, а именно название, автор, категория и цена. Теперь я хочу представить работу cron, которая будет запускаться каждые 10 и 50 минут каждого часа. Он проверит, есть ли книга с ценой более 100 (валюта здесь не имеет значения), она удалит эту запись (или документ) из базы данных. Значит, он будет работать в 7:10 утра, 7:50, затем в следующий час в 8:10 и 8:50 и так далее.
Я запускаю свое приложение с командой ./bin/www из папки приложения. Тем не менее, я не могу понять, как реализовать эту службу заданий cron и где (в каком файле) поставить этот код, чтобы заставить его работать в указанное выше время всякий раз, когда я запускаю свое приложение.
Здесь я расскажу о битах кода моего так называемого разработанного приложения, чтобы вы могли посмотреть. В настоящее время он отлично работает для отдыха api.
Это app.js:
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var index = require('./routes/index');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', index);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
Это index.js:
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var Book1 = require('../models/mybook.model');
var db = 'mongodb://localhost/mybookdb';
var mongoose = require('mongoose');
mongoose.connect(db);
var conn = mongoose.connection;
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/mybooks', function(req, res) {
console.log('Showing all books');
Book1.find({})
.exec(function(err,records){
if(err){
res.send('error has occured');
}else{
console.log(records);
res.json(records);
}
});
});
module.exports = router;
и mybook.model как:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var BookSchema = new Schema({
title:String,
author:String,
category:String,
price: Number
});
module.exports = mongoose.model('Book', BookSchema);
Может кто-нибудь помочь мне с тем, как и в каком файле для выполнения функции node-schedule cron выполнить мое требование?