workers: fix build for workers.
This commit is contained in:
parent
307e7dd698
commit
98a59e814d
@ -8,16 +8,12 @@
|
||||
'use strict';
|
||||
|
||||
self.onmessage = function onmessage(event) {
|
||||
var file = '/bcoin-master.js';
|
||||
var env;
|
||||
|
||||
self.onmessage = function() {};
|
||||
|
||||
env = JSON.parse(event.data);
|
||||
|
||||
if (env.BCOIN_MASTER_URL)
|
||||
file = env.BCOIN_MASTER_URL;
|
||||
|
||||
self.importScripts(file);
|
||||
self.importScripts(env.BCOIN_MASTER_URL);
|
||||
self.master.listen(env);
|
||||
};
|
||||
|
||||
@ -57,18 +57,39 @@ util.inherits(WorkerPool, EventEmitter);
|
||||
|
||||
/**
|
||||
* Whether workers are supported.
|
||||
* @const {Boolean}
|
||||
* @type {Boolean}
|
||||
*/
|
||||
|
||||
WorkerPool.support = HAS_WORKERS || HAS_CP;
|
||||
|
||||
/**
|
||||
* Number of CPUs/cores available.
|
||||
* @const {Number}
|
||||
* @type {Number}
|
||||
*/
|
||||
|
||||
WorkerPool.CORES = getCores();
|
||||
|
||||
/**
|
||||
* Default worker file.
|
||||
* @const {String}
|
||||
*/
|
||||
|
||||
WorkerPool.WORKER_FILE = 'worker.js';
|
||||
|
||||
/**
|
||||
* Default worker URL.
|
||||
* @const {String}
|
||||
*/
|
||||
|
||||
WorkerPool.WORKER_URL = '/bcoin-worker.js';
|
||||
|
||||
/**
|
||||
* Default master URL.
|
||||
* @const {String}
|
||||
*/
|
||||
|
||||
WorkerPool.MASTER_URL = '/bcoin-master.js';
|
||||
|
||||
/**
|
||||
* Global list of workers.
|
||||
* @type {Array}
|
||||
@ -466,7 +487,7 @@ function Worker(id) {
|
||||
this.pending = {};
|
||||
|
||||
this.env = {
|
||||
BCOIN_MASTER_URL: process.env.BCOIN_MASTER_URL,
|
||||
BCOIN_MASTER_URL: process.env.BCOIN_MASTER_URL || WorkerPool.MASTER_URL,
|
||||
BCOIN_WORKER_NETWORK: Network.type,
|
||||
BCOIN_WORKER_ISTTY: process.stdout
|
||||
? (process.stdout.isTTY ? '1' : '0')
|
||||
@ -519,7 +540,7 @@ Worker.prototype._init = function _init() {
|
||||
|
||||
Worker.prototype._initWebWorkers = function _initWebWorkers() {
|
||||
var self = this;
|
||||
var file = '/bcoin-worker.js';
|
||||
var file = WorkerPool.WORKER_URL;
|
||||
|
||||
if (process.env.BCOIN_WORKER_URL)
|
||||
file = process.env.BCOIN_WORKER_URL;
|
||||
@ -553,13 +574,15 @@ Worker.prototype._initWebWorkers = function _initWebWorkers() {
|
||||
Worker.prototype._initChildProcess = function _initChildProcess() {
|
||||
var self = this;
|
||||
var bin = process.argv[0];
|
||||
var file = path.join(__dirname, 'worker.js');
|
||||
var file = WorkerPool.WORKER_FILE;
|
||||
var env = Object.assign({}, process.env, this.env);
|
||||
var options = { stdio: 'pipe', env: env };
|
||||
|
||||
if (process.env.BCOIN_WORKER_FILE)
|
||||
file = process.env.BCOIN_WORKER_FILE;
|
||||
|
||||
file = path.resolve(__dirname, file);
|
||||
|
||||
this.child = cp.spawn(bin, [file], options);
|
||||
|
||||
this.child.unref();
|
||||
|
||||
@ -36,7 +36,7 @@ module.exports = {
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.BCOIN_WORKER_FILE':
|
||||
str(env.BCOIN_WORKER_FILE || "path.join(__dirname, 'bcoin-worker.js')")
|
||||
str(env.BCOIN_WORKER_FILE || 'bcoin-worker.js')
|
||||
})
|
||||
]
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user