File tree Expand file tree Collapse file tree 3 files changed +15
-0
lines changed Expand file tree Collapse file tree 3 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -109,6 +109,7 @@ SocketCluster.prototype._init = function (options) {
109
109
brokerController : null ,
110
110
brokerConnectRetryErrorThreshold : null ,
111
111
initController : null ,
112
+ initWorkerClusterController : null ,
112
113
rebootOnSignal : true ,
113
114
downgradeToUser : false ,
114
115
path : '/socketcluster/' ,
@@ -182,6 +183,12 @@ SocketCluster.prototype._init = function (options) {
182
183
self . _paths . appInitControllerPath = null ;
183
184
}
184
185
186
+ if ( self . options . initWorkerClusterController ) {
187
+ self . _paths . appInitWorkerClusterControllerPath = path . resolve ( self . options . initWorkerClusterController ) ;
188
+ } else {
189
+ self . _paths . appInitWorkerClusterControllerPath = null ;
190
+ }
191
+
185
192
if ( / \. j s $ / . test ( self . options . wsEngine ) ) {
186
193
self . _paths . wsEnginePath = path . resolve ( self . options . wsEngine ) ;
187
194
} else {
Original file line number Diff line number Diff line change @@ -45,6 +45,12 @@ if (cluster.isMaster) {
45
45
processTermTimeout = m . data . processTermTimeout ;
46
46
}
47
47
48
+ // Run an initController to initialize anything for the master process of all SCWorkers
49
+ if ( m . data . paths . appInitWorkerClusterControllerPath != null ) {
50
+ var _initWorkerClusterController = require ( m . data . paths . appInitWorkerClusterControllerPath ) ;
51
+ _initWorkerClusterController . run ( ) ;
52
+ }
53
+
48
54
var workerCount = m . data . workerCount ;
49
55
var readyCount = 0 ;
50
56
var isReady = false ;
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ var SocketCluster = require('socketcluster').SocketCluster;
8
8
var workerControllerPath = argv . wc || process . env . SOCKETCLUSTER_WORKER_CONTROLLER ;
9
9
var brokerControllerPath = argv . bc || process . env . SOCKETCLUSTER_BROKER_CONTROLLER ;
10
10
var initControllerPath = argv . ic || process . env . SOCKETCLUSTER_INIT_CONTROLLER ;
11
+ var initWorkerClusterControllerPath = argv . iwc || process . env . SOCKETCLUSTER_INIT_WORKERCLUSTER_CONTROLLER ;
11
12
var environment = process . env . ENV || 'dev' ;
12
13
13
14
var options = {
@@ -20,6 +21,7 @@ var options = {
20
21
workerController : workerControllerPath || __dirname + '/worker.js' ,
21
22
brokerController : brokerControllerPath || __dirname + '/broker.js' ,
22
23
initController : initControllerPath || null ,
24
+ initWorkerClusterController : initWorkerClusterControllerPath || null ,
23
25
socketChannelLimit : Number ( process . env . SOCKETCLUSTER_SOCKET_CHANNEL_LIMIT ) || 1000 ,
24
26
clusterStateServerHost : argv . cssh || process . env . SCC_STATE_SERVER_HOST || null ,
25
27
clusterStateServerPort : process . env . SCC_STATE_SERVER_PORT || null ,
You can’t perform that action at this time.
0 commit comments