I've learned that cpu intensive tasks should be moved out of server and server should be responsible for talking to client and responding fast not really for sending out batch emails, or calculating users in database with certain quality or resizing image etc. 

so not having done this how can i have my nodejs stay in contact and control processes outside of nodejs code. 

For example, 

User uploads a million rows big csv file.

I want to analyze it and return.

I could make user wait for nodejs to analyze and get back with result.

Works but doesn't scale what if there are 3000 users, all advantageous of event loop go out of window.

So how can i handle this.

I read that i should let other outside processes to handle this, how? could these processes be written in better faster language. What if i want to stream progress to client (30%) done, this will require communication between process and nodejs.

I think GO and Nodejs make best combo if i can figure this out.