1 | const startWorkers = require('./../module/startWorkers')
|
2 | const Worker = require('./../class/Worker')
|
3 | const getPack = require('./../module/getPack')
|
4 |
|
5 | global.isResurrectable = true
|
6 |
|
7 | module.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 | }
|