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