UNPKG

690 BJavaScriptView Raw
1const startWorkers = require('./../module/startWorkers')
2const Worker = require('./../class/Worker')
3const getPack = require('./../module/getPack')
4
5global.isResurrectable = true
6
7module.exports = function resurrect(config) {
8 return new Promise((resolve, reject) => {
9 if (!global.isResurrectable) {
10 throw new Error('already resurrected')
11 }
12
13 global.isResurrectable = false
14
15 const q = config.apps.map(app => {
16 const pack = getPack(app.dir, app.opt, app.env)
17
18 return startWorkers(config, app.dir, pack, app.args, app.env)
19 })
20
21 Promise.all(q).then(() => {
22 resolve({
23 started: Worker.workerList.length
24 })
25 }).catch(reject)
26 })
27}