www.js 760 B

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