2017-02-08 19:52:37 -06:00
|
|
|
'use strict'
|
|
|
|
|
2016-08-16 19:56:55 -05:00
|
|
|
// ===========================================
|
2016-12-08 21:44:31 -06:00
|
|
|
// Wiki.js
|
2016-08-16 19:56:55 -05:00
|
|
|
// Licensed under AGPLv3
|
|
|
|
// ===========================================
|
|
|
|
|
2017-04-28 16:58:38 -05:00
|
|
|
const path = require('path')
|
2017-07-22 22:56:46 -05:00
|
|
|
let wiki = {
|
|
|
|
IS_DEBUG: process.env.NODE_ENV === 'development',
|
|
|
|
ROOTPATH: process.cwd(),
|
|
|
|
SERVERPATH: path.join(process.cwd(), 'server')
|
|
|
|
}
|
|
|
|
global.wiki = wiki
|
2016-08-20 16:20:53 -05:00
|
|
|
|
2017-02-08 19:52:37 -06:00
|
|
|
process.env.VIPS_WARNING = false
|
|
|
|
|
2017-07-22 22:56:46 -05:00
|
|
|
// if (wiki.IS_DEBUG) {
|
2017-05-18 19:23:24 -05:00
|
|
|
// require('@glimpse/glimpse').init()
|
|
|
|
// }
|
2017-05-14 12:56:33 -05:00
|
|
|
|
2017-07-22 22:56:46 -05:00
|
|
|
let appconf = require('./modules/config')()
|
|
|
|
wiki.config = appconf.config
|
|
|
|
wiki.data = appconf.data
|
2017-03-28 19:19:01 -05:00
|
|
|
|
2016-08-16 19:56:55 -05:00
|
|
|
// ----------------------------------------
|
2016-09-24 23:08:49 -05:00
|
|
|
// Load Winston
|
2016-08-16 19:56:55 -05:00
|
|
|
// ----------------------------------------
|
|
|
|
|
2017-07-28 23:11:22 -05:00
|
|
|
wiki.logger = require('./modules/logger')()
|
2016-08-16 19:56:55 -05:00
|
|
|
|
2016-09-24 23:08:49 -05:00
|
|
|
// ----------------------------------------
|
2017-07-28 23:11:22 -05:00
|
|
|
// Start Cluster
|
2016-09-24 23:08:49 -05:00
|
|
|
// ----------------------------------------
|
2016-08-21 22:18:31 -05:00
|
|
|
|
2017-07-28 23:11:22 -05:00
|
|
|
const cluster = require('cluster')
|
|
|
|
const numCPUs = require('os').cpus().length
|
2016-08-20 16:20:53 -05:00
|
|
|
|
2017-07-28 23:11:22 -05:00
|
|
|
if (cluster.isMaster) {
|
|
|
|
wiki.logger.info('Wiki.js is initializing...')
|
2016-08-16 22:56:08 -05:00
|
|
|
|
2017-07-28 23:11:22 -05:00
|
|
|
require('./master')
|
2016-08-31 21:45:28 -05:00
|
|
|
|
2017-07-28 23:11:22 -05:00
|
|
|
for (let i = 0; i < numCPUs; i++) {
|
|
|
|
cluster.fork()
|
2016-10-30 17:41:10 -05:00
|
|
|
}
|
2016-09-05 18:23:49 -05:00
|
|
|
|
2017-07-28 23:11:22 -05:00
|
|
|
cluster.on('exit', (worker, code, signal) => {
|
|
|
|
wiki.logger.info(`Worker #${worker.id} died.`)
|
2017-05-18 19:23:24 -05:00
|
|
|
})
|
2017-07-28 23:11:22 -05:00
|
|
|
} else {
|
|
|
|
wiki.logger.info(`Background Worker #${cluster.worker.id} is starting...`)
|
|
|
|
// require('./worker')
|
|
|
|
}
|