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

Reply via email to