2
0

www.js 778 B

1234567891011121314151617181920212223242526
  1. var logging = require("./lib/logging");
  2. var cleaner = require("./lib/cleaner");
  3. var config = require("./config");
  4. var cluster = require("cluster");
  5. process.on("uncaughtException", function(err) {
  6. logging.error("uncaughtException", err.stack || err.toString());
  7. process.exit(1);
  8. });
  9. if (cluster.isMaster) {
  10. var cores = config.server.clusters || require("os").cpus().length;
  11. logging.log("Starting", cores + " worker" + (cores > 1 ? "s" : ""));
  12. for (var i = 0; i < cores; i++) {
  13. cluster.fork();
  14. }
  15. cluster.on("exit", function (worker) {
  16. logging.error("Worker #" + worker.id + " died. Rebooting a new one.");
  17. setTimeout(cluster.fork, 100);
  18. });
  19. setInterval(cleaner.run, config.cleaner.interval * 1000);
  20. } else {
  21. require("./lib/server.js").boot();
  22. }