app.js 903 B

12345678910111213141516171819202122232425262728293031
  1. const cluster = require('cluster');
  2. const numCPUs = require('os').cpus().length;
  3. process.env.NODE_HANDLER = 'mysql-raw';
  4. if (process.env.TFB_TEST_NAME === 'nodejs-mongodb') {
  5. process.env.NODE_HANDLER = 'mongoose';
  6. } else if (process.env.TFB_TEST_NAME === 'nodejs-mongodb-raw') {
  7. process.env.NODE_HANDLER = 'mongodb-raw';
  8. } else if (process.env.TFB_TEST_NAME === 'nodejs-mysql') {
  9. process.env.NODE_HANDLER = 'sequelize';
  10. } else if (process.env.TFB_TEST_NAME === 'nodejs-postgres') {
  11. process.env.NODE_HANDLER = 'sequelize-postgres';
  12. }
  13. if (cluster.isPrimary) {
  14. console.log(`Primary ${process.pid} is running`);
  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.process.pid} died`);
  21. process.exit(1);
  22. });
  23. } else {
  24. // Task for forked worker
  25. require('./create-server');
  26. }