Browse Source

reorg some more.

Bjorn Stromberg 12 years ago
parent
commit
bf8e275074
1 changed files with 29 additions and 22 deletions
  1. 29 22
      nodejs/hello.js

+ 29 - 22
nodejs/hello.js

@@ -1,6 +1,20 @@
 var cluster = require('cluster')
 var cluster = require('cluster')
-  , numCPUs = require('os').cpus().length
-  , http = require('http')
+  , numCPUs = require('os').cpus().length;
+
+if (cluster.isMaster) {
+  // Fork workers.
+  for (var i = 0; i < numCPUs; i++) {
+    cluster.fork();
+  }
+
+  cluster.on('exit', function(worker, code, signal) {
+    console.log('worker ' + worker.pid + ' died');
+  });
+
+  return;
+}
+
+var http = require('http')
   , url = require('url')
   , url = require('url')
   , async = require('async')
   , async = require('async')
   , mongoose = require('mongoose')
   , mongoose = require('mongoose')
@@ -37,18 +51,7 @@ var WorldSchema = new Schema({
 }, { collection : 'world' });
 }, { collection : 'world' });
 var MWorld = conn.model('World', WorldSchema);
 var MWorld = conn.model('World', WorldSchema);
 
 
-if (cluster.isMaster) {
-  // Fork workers.
-  for (var i = 0; i < numCPUs; i++) {
-    cluster.fork();
-  }
-
-  cluster.on('exit', function(worker, code, signal) {
-    console.log('worker ' + worker.pid + ' died');
-  });
 
 
-  return;
-}
 
 
 function getRandomNumber() {
 function getRandomNumber() {
   return Math.floor(Math.random() * 10000) + 1;
   return Math.floor(Math.random() * 10000) + 1;
@@ -114,23 +117,27 @@ http.createServer(function (req, res) {
     break;
     break;
 
 
   case '/mysql':
   case '/mysql':
-    var values = url.parse(req.url, true);
-    var queries = values.query.queries || 1;
-    var queryFunctions = new Array(queries);
-
-    for (var i = 0; i < queries; i += 1) {
-      queryFunctions[i] = mysqlQuery;
-    }
-
     res.writeHead(200, {'Content-Type': 'application/json'});
     res.writeHead(200, {'Content-Type': 'application/json'});
     
     
     pool.getConnection(function(err, connection) {
     pool.getConnection(function(err, connection) {
+      if (err || !connection) {
+        return res.end('MYSQL CONNECTION ERROR.');
+      } 
+
       function mysqlQuery(callback) {
       function mysqlQuery(callback) {
-        connection.query("SELECT * FROM World WHERE id = " + getRandomNumber()), function(err, rows) {
+        connection.query("SELECT * FROM World WHERE id = " + getRandomNumber(), function(err, rows) {
           callback(null, rows[0]);
           callback(null, rows[0]);
         });
         });
       }
       }
 
 
+      var values = url.parse(req.url, true);
+      var queries = values.query.queries || 1;
+      var queryFunctions = new Array(queries);
+
+      for (var i = 0; i < queries; i += 1) {
+        queryFunctions[i] = mysqlQuery;
+      }
+
       async.parallel(queryFunctions, function(err, results) {
       async.parallel(queryFunctions, function(err, results) {
         res.end(JSON.stringify(results));
         res.end(JSON.stringify(results));
         connection.end();
         connection.end();