I am creating a node app in which for each request I am calling a function at regular intervals
app.js
var express = require('express');
var request = require('request');
var bodyParser = require('body-parser');
var app = express();
const PORT = process.env.port || 1234
app.listen(PORT, () => { console.log(`Server running at ${PORT} ...`)} );
var router = express.Router();
function ping(i, appURL)
{
request(appURL, function (error, response, body) {
console.log('i:', i ++ ,'url: ', appURL, 'statusCode:', response && response.statusCode, 'Time: ', new Date());
});
}
router.route('/')
.post(function(req, res) {
var appURL = req.body.url;
var i = 1;
ping(i, appURL);
setInterval(function() {
request(appURL, function (error, response, body) {
ping(i, appURL);
});
}, 1800000);
res.end('Success');
});
app.use(bodyParser.json());
app.use('/', router);
Whenever there is a request to the app, I am calling the ping function for every 30 minutes.
Does a node app can handle more setInterval()?
Is it good to use setTimeout() instead of setInterval()?