diff --git a/cluster.js b/cluster.js new file mode 100755 index 00000000..6ccfdc43 --- /dev/null +++ b/cluster.js @@ -0,0 +1,44 @@ +/* + * Windshaft-CartoDB + * =============== + * + * ./app.js [environment] + * + * environments: [development, production] + */ + +var cluster = require('cluster'); + +// sanity check +var ENV = process.argv[2] +if (ENV != 'development' && ENV != 'production'){ + console.error("\nnode app.js [environment]"); + console.error("environments: [development, production]\n"); + process.exit(1); +} + +var _ = require('underscore') + , Step = require('step') + , cartoData = require('./lib/cartodb/carto_data') + , CartodbWindshaft = require('./lib/cartodb/cartodb_windshaft'); + + + +// set environment specific variables +global.settings = require(__dirname + '/config/settings'); +global.environment = require(__dirname + '/config/environments/' + ENV); +_.extend(global.settings, global.environment); + +var Windshaft = require('windshaft'); +var serverOptions = require('./lib/cartodb/server_options'); + +ws = CartodbWindshaft(serverOptions); +cluster(ws) + .use(cluster.logger('logs')) + .use(cluster.stats()) + .use(cluster.pidfiles('pids')) + .set('workers', 1) + .listen(global.environment.windshaft_port); + +//ws.listen(global.environment.windshaft_port); +console.log("Windshaft tileserver started on port " + global.environment.windshaft_port); diff --git a/package.json b/package.json index 4f3372a5..b6c8af79 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "email": "simon@vizzuality.com" }, "dependencies": { + "cluster": "0.6.4", "node-varnish": "0.1.0", "underscore" : "1.1.x", "windshaft" : "0.4.3",