nova
nova

Reputation: 313

How to call a function each 2 min while webserver is running?

my Problem is to call a function every two minutes WHILE a Webserver is running. So my Server starts like this:

app.listen(1309, function(){
    console.log("server is listening");
    doSomething();
});

And this is my function doSomething()

var doSomething = function(){
    while(true) {
        sleep.sleep(10);
        console.log("hello"); //the original function will be called here as soon as my code works :P
    }
};

So yes the function prints every 10 seconds (10 sec 'cause testcase, don't want to wait 2 min atm) after starting my webserver but then it can't receive any get requests. (tested this with console.log)

I tried it without the function and it receives them. So I guess the while loop blocks the rest of the sever. How can I call this function every 2 minutes (or 10 sec) while the server is running and without missen any requests to it ?

Upvotes: 0

Views: 671

Answers (1)

alexmac
alexmac

Reputation: 19617

You need to use setInteval function:

const 2mins = 2 * 60 * 1000;
var doSomething = function() {
   setInterval(function() {
     console.log("hello");
   }, 2mins);
}

Upvotes: 1

Related Questions