File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed
examples/app-highavailability Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -13,22 +13,25 @@ var cluster = require('cluster'),
1313 status = require ( 'mod_statuspage' ) ,
1414 timers = require ( 'timers' ) ;
1515// Spawn numCPUs worker processes
16- var numCPUs = require ( 'os' ) . cpus ( ) . length ;
16+ var numCPUs = require ( 'os' ) . cpus ( ) . length ,
17+ clusterStartTime = Date . now ( ) ,
18+ newWorkerEnv = { } ;
1719
1820// Master spawns worker processes
1921if ( cluster . isMaster ) {
22+ newWorkerEnv . clusterStartTime = clusterStartTime ;
2023
2124 // Fork workers
2225 for ( var i = 0 ; i < numCPUs ; i ++ ) {
2326 console . log ( 'Starting worker ' + i ) ;
24- cluster . fork ( ) ;
27+ cluster . fork ( newWorkerEnv ) ;
2528 }
2629
2730 // If any worker process dies, spawn a new one to bring back number of processes
2831 // to be back to numCPUs
2932 cluster . on ( 'exit' , function ( worker , code , signal ) {
3033 console . log ( 'worker ' + worker . process . pid + ' died' ) ;
31- cluster . fork ( ) ;
34+ cluster . fork ( newWorkerEnv ) ;
3235 } ) ;
3336
3437 // Logs to know what workers are active
@@ -40,6 +43,10 @@ if (cluster.isMaster) {
4043 // Worker process
4144 // Start monitoring
4245 monitor . start ( ) ;
46+
47+ if ( process . env . clusterStartTime ) {
48+ process . clusterStartTime = new Date ( parseInt ( process . env . clusterStartTime , 10 ) ) ;
49+ }
4350
4451 // Simple express app
4552 var app = express ( ) ;
You can’t perform that action at this time.
0 commit comments