YUKI Hiroshi
null+****@clear*****
Wed Nov 5 13:05:55 JST 2014
YUKI Hiroshi 2014-11-05 13:05:55 +0900 (Wed, 05 Nov 2014) New Revision: 20569c17804ff2622542561e92a795771d4a13a1 https://github.com/droonga/express-droonga/commit/20569c17804ff2622542561e92a795771d4a13a1 Message: Reduce indent level Modified files: lib/serf/agent.js Modified: lib/serf/agent.js (+89 -89) =================================================================== --- lib/serf/agent.js 2014-11-05 13:04:23 +0900 (7306bd3) +++ lib/serf/agent.js 2014-11-05 13:05:55 +0900 (c581d2d) @@ -57,103 +57,103 @@ function Agent(options) { util.inherits(Agent, EventEmitter); Agent.prototype.start = function() { - this._logger.debug('Starting Serf agent (' + this._serf + ')'); - return Q.Promise((function(resolve, reject, notify) { - if (this._agentProcess) - return resolve(); - - if (this._serf.charAt(0) == '/' && - !fs.existsSync(this._serf)) { - this._logger.info('Serf command is not found. Install Serf automatically.'); - new Downloader().saveTo(path.dirname(this._serf)) - .then((function() { - this.start().then(resolve).catch(reject); - }).bind(this)) - .catch(reject); - return; - } + this._logger.debug('Starting Serf agent (' + this._serf + ')'); + return Q.Promise((function(resolve, reject, notify) { + if (this._agentProcess) + return resolve(); + + if (this._serf.charAt(0) == '/' && + !fs.existsSync(this._serf)) { + this._logger.info('Serf command is not found. Install Serf automatically.'); + new Downloader().saveTo(path.dirname(this._serf)) + .then((function() { + this.start().then(resolve).catch(reject); + }).bind(this)) + .catch(reject); + return; + } - exec(this._serf + ' version', (function(error, stdin, stdout) { - if (error) - return reject(new Error('Serf is not available.')); - try { - this.tryStart(); - resolve(); - } catch(error) { - reject(error); - } - }).bind(this)); + exec(this._serf + ' version', (function(error, stdin, stdout) { + if (error) + return reject(new Error('Serf is not available.')); + try { + this.tryStart(); + resolve(); + } catch(error) { + reject(error); + } }).bind(this)); - }; + }).bind(this)); +}; Agent.prototype.tryStart = function() { - var eventHandlerPath = path.join(__dirname, '..', '..', 'bin', - 'express-droonga-serf-event-handler'); - var agentArgs = [ - 'agent', - '-node', this._nodeName, - '-bind', this._hostName + ':' + BIND_PORT, - '-rpc-addr', this._hostName + ':' + RPC_PORT, - // '-event-handler', eventHandlerPath, - // '-log-level', this._logLevel, - '-tag', 'role=protocol-adapter' - ]; - this._otherMembers.forEach(function(address) { - if (address.indexOf(':') < 0) - address = address + ':' + DEFAULT_BIND_PORT; - agentArgs.push('-retry-join'); - agentArgs.push(address); - }); - try { - this._logger.info('Starting Serf agent: ' + this._serf + ' ' + agentArgs.join(' ')); - this._agentProcess = spawn(this._serf, agentArgs); - this._agentProcess.on('close', (function(exitStatusCode) { - if (exitStatusCode != 0) - this._logger.error(new Error('Serf agent is closed with error: ' + exitStatusCode)); - this._agentProcess = null; - }).bind(this)); - this._agentProcess.stdout.on('data', (function(data) { - this._handleOutput(data); - }).bind(this)); - } catch(error) { + var eventHandlerPath = path.join(__dirname, '..', '..', 'bin', + 'express-droonga-serf-event-handler'); + var agentArgs = [ + 'agent', + '-node', this._nodeName, + '-bind', this._hostName + ':' + BIND_PORT, + '-rpc-addr', this._hostName + ':' + RPC_PORT, + // '-event-handler', eventHandlerPath, + // '-log-level', this._logLevel, + '-tag', 'role=protocol-adapter' + ]; + this._otherMembers.forEach(function(address) { + if (address.indexOf(':') < 0) + address = address + ':' + DEFAULT_BIND_PORT; + agentArgs.push('-retry-join'); + agentArgs.push(address); + }); + try { + this._logger.info('Starting Serf agent: ' + this._serf + ' ' + agentArgs.join(' ')); + this._agentProcess = spawn(this._serf, agentArgs); + this._agentProcess.on('close', (function(exitStatusCode) { + if (exitStatusCode != 0) + this._logger.error(new Error('Serf agent is closed with error: ' + exitStatusCode)); this._agentProcess = null; - this._logger.error(error); - } - }; + }).bind(this)); + this._agentProcess.stdout.on('data', (function(data) { + this._handleOutput(data); + }).bind(this)); + } catch(error) { + this._agentProcess = null; + this._logger.error(error); + } +}; Agent.prototype._handleOutput = function(output) { - this._logger.debug('Serf agent output: ' + output); - var matched = output.match(EVENT_LOG_PATTERN); - if (!matched) - return; - - var eventName = matched[1]; - var nodeName = matched[2]; - if (nodeName == this._nodeName) - return; - - switch (eventName) { - case 'EventMemberJoin': - return this.emit('member-join', nodeName); - case 'EventMemberLeave': - return this.emit('member-leave', nodeName); - case 'EventMemberFailed': - return this.emit('member-failed', nodeName); - } - }; + this._logger.debug('Serf agent output: ' + output); + var matched = output.match(EVENT_LOG_PATTERN); + if (!matched) + return; + + var eventName = matched[1]; + var nodeName = matched[2]; + if (nodeName == this._nodeName) + return; + + switch (eventName) { + case 'EventMemberJoin': + return this.emit('member-join', nodeName); + case 'EventMemberLeave': + return this.emit('member-leave', nodeName); + case 'EventMemberFailed': + return this.emit('member-failed', nodeName); + } +}; Agent.prototype.shutdown = function() { - this._logger.info('Shutting down Serf agent'); - if (!this._agentProcess) - return; - try { - this._agentProcess.stdout.removeAllListeners(); - this._agentProcess.removeAllListeners(); - this._agentProcess.kill(); - this._agentProcess = null; - } catch(error) { - this._logger.error(error); - } - }; + this._logger.info('Shutting down Serf agent'); + if (!this._agentProcess) + return; + try { + this._agentProcess.stdout.removeAllListeners(); + this._agentProcess.removeAllListeners(); + this._agentProcess.kill(); + this._agentProcess = null; + } catch(error) { + this._logger.error(error); + } +}; module.exports = Agent; -------------- next part -------------- HTML����������������������������... ダウンロード