graphql-mongodb-app.js 980 B

12345678910111213141516171819202122232425262728293031323334353637
  1. const cluster = require('cluster')
  2. const numCPUs = require('os').cpus().length
  3. const express = require('express');
  4. const mongoose = require('mongoose');
  5. const app = express();
  6. const bodyParser = require('body-parser');
  7. const port = 8080;
  8. mongoose.Promise = global.Promise;
  9. mongoose.connect('mongodb://tfb-database/hello_world').then(() => {
  10. console.log('connected to mongo tfb-database hello_world');
  11. }).catch((err) => {
  12. console.log('Failed connection attempt to Mongo: ', err);
  13. });
  14. if (cluster.isPrimary) {
  15. // Fork workers.
  16. for (let i = 0; i < numCPUs; i++) {
  17. cluster.fork();
  18. }
  19. cluster.on('exit', (worker, code, signal) =>
  20. console.log('worker ' + worker.pid + ' died'));
  21. } else {
  22. app.use(bodyParser.urlencoded({ extended:false }));
  23. app.use(bodyParser.json());
  24. const resolvers = require('./resolver-mongo');
  25. // Routes
  26. require('/routes.js')(app, resolvers);
  27. app.listen(port, () => {
  28. console.log(`Listening on localhost:${port}`);
  29. });
  30. }