123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /**
- * app.js
- *
- * Use `app.js` to run your app without `sails lift`.
- * To start the server, run: `node app.js`.
- *
- * This is handy in situations where the sails CLI is not relevant or useful.
- *
- * For example:
- * => `node app.js`
- * => `forever start app.js`
- * => `node debug app.js`
- * => `modulus deploy`
- * => `heroku scale`
- *
- *
- * The same command-line arguments are supported, e.g.:
- * `node app.js --silent --port=80 --prod`
- */
- // Ensure we're in the project directory, so relative paths work as expected
- // no matter where we actually lift from.
- process.chdir(__dirname);
- const cluster = require('cluster'),
- numCPUs = require('os').cpus().length;
- if (cluster.isMaster) {
- // Fork workers.
- for (let i = 0; i < numCPUs; i++) {
- cluster.fork();
- }
- cluster.on('exit', (worker, code, signal) => {
- if (signal) {
- console.log(`worker ${worker.process.pid} was killed by signal: ${signal}`);
- } else if (code !== 0) {
- console.log(`worker ${worker.process.pid} exited with error code: ${code}`);
- } else {
- console.log(`worker ${worker.process.pid} success!`);
- }
- });
- } else {
- // Ensure a "sails" can be located:
- (function() {
- var sails;
- try {
- sails = require('sails');
- } catch (e) {
- console.error('To run an app using `node app.js`, you usually need to have a version of `sails` installed in the same directory as your app.');
- console.error('To do that, run `npm install sails`');
- console.error('');
- console.error('Alternatively, if you have sails installed globally (i.e. you did `npm install -g sails`), you can use `sails lift`.');
- console.error('When you run `sails lift`, your app will still use a local `./node_modules/sails` dependency if it exists,');
- console.error('but if it doesn\'t, the app will run with the global sails instead!');
- return;
- }
- // Try to get `rc` dependency
- var rc;
- try {
- rc = require('rc');
- } catch (e0) {
- try {
- rc = require('sails/node_modules/rc');
- } catch (e1) {
- console.error('Could not find dependency: `rc`.');
- console.error('Your `.sailsrc` file(s) will be ignored.');
- console.error('To resolve this, run:');
- console.error('npm install rc --save');
- rc = function () { return {}; };
- }
- }
- // Start server
- sails.lift(rc('sails'));
- })();
- }
|