app.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. const cluster = require('cluster');
  2. const numCPUs = require('os').cpus().length;
  3. process.env.NODE_HANDLER = 'postgres';
  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-mysql-raw') {
  11. process.env.NODE_HANDLER = 'mysql-raw';
  12. } else if (process.env.TFB_TEST_NAME === 'nodejs-postgres') {
  13. process.env.NODE_HANDLER = 'sequelize-postgres';
  14. }else if (process.env.TFB_TEST_NAME === 'nodejs-postgresjs-raw') {
  15. process.env.NODE_HANDLER = 'postgres';
  16. }
  17. if (cluster.isPrimary) {
  18. console.log(`Primary ${process.pid} is running`);
  19. // Fork workers.
  20. for (let i = 0; i < numCPUs; i++) {
  21. cluster.fork();
  22. }
  23. cluster.on('exit', (worker, code, signal) => {
  24. console.log(`worker ${worker.process.pid} died`);
  25. process.exit(1);
  26. });
  27. } else {
  28. // Task for forked worker
  29. require('./create-server');
  30. }