I am using working on web app which had a DIV in which latest update about a topic is shown which is coming from some other website. So what i want is to update the DIV as soon as the data is really updated in back end database.
On the back-end I am using cron to fetch & store data in database.
A simple way of doing this is to use setInterval() function and keep on fetching the data at a particular time interval but I think this would just cause unnecessary load on the server and just waste CPU cycles.
So what’s the best way to implement this? can/should i use nodeJs for this?
-Thanks
P.S. I just want something like facebook uses to upddate it’s news feed in the middle of page.
and i have no experience with nodeJs yet so honestly i don’t even know that nodeJs is good for this or not.
If the problem you’re trying to solve is how to efficiently update your browser display without repeatedly polling the backend server, then you can use “long polling” in which you make a web server request with a long timeout and the request only returns when there is actually some new data or it eventually times out. You can read more by searching Google or SO for “javascript long polling”. Here are a few of those references:
How do I implement basic "Long Polling"?
How to implement Server push / long polling / comet using PHP and Javascript
http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery
In modern browsers, you could also use web sockets where you client opens up a socket directly to the server and the server just sends you new data when there is new data.
In either case, you need a back-end server that can handle lots of simultaneous, but mostly idle connections.