if you have 9 / 10 requests that do heavy computing that node.js is not the
language for you.
On Friday, June 29, 2012 at 3:07 PM, hd nguyen wrote:
> So you guys mean that with each request relate to a heavy computing task, we
> should create new process to handle it in NodeJs, right?
>
> I just create those request handler based on this template:
> module.exports = function(app) {
> //handler1
> app.get('pathname1', function() {});
> //handler2
> app.get('pathname2', function() {});
> ...other handlers
> }
>
> So assume I have 10 handlers in total, but 9 task handlers relate to heavy
> computing that utilize cpu power, so I need to create 9 sub processes, is it
> a normal and acceptable coding way in Nodejs? I mean from my view, it's
> quite weird a little bit.
>
> Any other approach without creating sub process for each request like that?
>
> Thanks.
> On Fri, Jun 29, 2012 at 7:27 PM, Ben Noordhuis <[email protected]
> (mailto:[email protected])> wrote:
> > On Fri, Jun 29, 2012 at 12:49 PM, hd nguyen <[email protected]
> > (mailto:[email protected])> wrote:
> > > Hi all,
> > >
> > > I'm new here and want to make a simple test web app with NodeJS and
> > > Express
> > > framework.
> > >
> > > I created 2 request are http://localhost:3000/heavycompute (very long
> > > time
> > > processing) and http://localhost:3000/ (just display text, return
> > > immediately) and handling methods for them as below code:
> > >
> > > module.exports = function(app) {
> > > //for http://localhost:3000/
> > > app.get('/', function(req, res){
> > > res.render('index', { title: 'Express', html: 'html param' });
> > > } );
> > >
> > >
> > > //for http://localhost:3000/heavycompute
> > > app.get('/heavycompute', function(req, res) {
> > > var sum = 0;
> > > for(var i = 0; i < 99998888777; i++) {
> > > sum += i;
> > > }
> > > res.render('index', { title: 'Express', html: sum });
> > > } );
> > > };
> > >
> > > The problem here is when I open simultaneously 2 tabs, each method on a
> > > tab,
> > > enter http://localhost:3000/heavycompute FIRST, then
> > > hit http://localhost:3000/,
> > >
> > > I expect http://localhost:3000/ return right away, but seem it must wait
> > > for
> > > completion of http://localhost:3000/heavycompute request handler.
> > >
> > > Could you help me pointing out what I have done wrong here with my code?
> > > I'm
> > > new and not sure I handle event-driven mechanism in coding properly, I
> > > want
> > > each handler should process each request separately as normal threaded web
> > > app server (tomcat, IIS,...).
> > >
> > > Appreciate any explanation/help.
> > >
> > > Thanks in advance.
> >
> > Don't do long computations inside your main application. Spin up a
> > child process with require('child_process').fork() and do it there.
> >
> > --
> > Job Board: http://jobs.nodejs.org/
> > Posting guidelines:
> > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> > You received this message because you are subscribed to the Google
> > Groups "nodejs" group.
> > To post to this group, send email to [email protected]
> > (mailto:[email protected])
> > To unsubscribe from this group, send email to
> > [email protected]
> > (mailto:nodejs%[email protected])
> > For more options, visit this group at
> > http://groups.google.com/group/nodejs?hl=en?hl=en
>
>
>
> --
> Nguyen Hai Duy
> Mobile : 0914 72 1900
> Yahoo: nguyenhd_lucky
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> (mailto:[email protected])
> To unsubscribe from this group, send email to
> [email protected]
> (mailto:[email protected])
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en