video-utils
Advanced tools
Comparing version 1.0.27 to 1.0.28
var | ||
log4js = require('log4js'), | ||
sbisCloudLogger, | ||
consoleLogger, | ||
cloudLogger; | ||
log4js = require('log4js'), | ||
Q = require('q'), | ||
shutdownManager = require('./shutdownManager'), | ||
sbisCloudLogger, | ||
consoleLogger, | ||
cloudLogger; | ||
@@ -60,3 +62,3 @@ methodsForExport = { | ||
logThreshold: 100, // How many log records to keep before sending. | ||
queueCheckTime: 3000, // How often to check log buffer. | ||
queueCheckTime: 1000, // How often to check log buffer. | ||
appName: config.appName || global.appName || 'sbis3-webrtc',// Application name (appears in log). | ||
@@ -72,2 +74,11 @@ appPort: config.extra.port // Application port (appears in log). | ||
cloudLogger = log4js.getLogger('inCloud'); | ||
shutdownManager.addHandler(function () { | ||
if (sbisCloudLogger) { | ||
sbisCloudLogger.flush(); | ||
var d = Q.defer(); | ||
setTimeout(d.resolve, 2000); | ||
return d.promise; | ||
} | ||
}, true); | ||
} | ||
@@ -74,0 +85,0 @@ |
{ | ||
"name": "video-utils", | ||
"version": "1.0.27", | ||
"version": "1.0.28", | ||
"dependencies": { | ||
"amqp": "0.2.x", | ||
"async": "0.9.x", | ||
"amqp": "0.2.x", | ||
"log4js": "0.6.x", | ||
"q": "1.4.x", | ||
"sbis3-cloud-config": "0.0.2", | ||
@@ -9,0 +10,0 @@ "sbis3-cloud-logger": "0.1.0" |
@@ -160,2 +160,20 @@ # video-utils | ||
* get(key) - получить конфигурацию по ключу | ||
* update(cfg) - обновить конфигурацию | ||
* update(cfg) - обновить конфигурацию | ||
## shutdownManager | ||
Выполнит переданные функции перед завершением процесса. Если функция вернет Promise, то процесс не завершится, пока не выполнится Promise. | ||
Таймаут ожидания выполнения Promise - 5 сек. | ||
### Использование | ||
var shutdownManager = require('video-utils/shutdownManager'); | ||
shutdownManager.addHandler(function () { | ||
var deferred = Q.defer(); | ||
setTimeout(function() { | ||
deferred.resolve(); | ||
}, 1000); | ||
return deferred.promise; | ||
}) | ||
@@ -5,5 +5,7 @@ var | ||
EventEmitter = require('events').EventEmitter, | ||
os = require('os'); | ||
os = require('os'), | ||
Q = require('q'); | ||
var | ||
shutdownManager = require('./shutdownManager'), | ||
getLogger = require('./lib/getLogger'), | ||
@@ -24,6 +26,3 @@ generateRoutingKey = require('./lib/generateRoutingKey'); | ||
this._connect(); | ||
process.on('exit', this._exitHandler.bind(this)); | ||
process.on('SIGINT', function () { | ||
process.exit(2); | ||
}); | ||
shutdownManager.addHandler(this._exitHandler.bind(this)); | ||
}; | ||
@@ -62,4 +61,11 @@ | ||
RabbitSubscriber.prototype._exitHandler = function () { | ||
this._logger.info('RabbitSubscriber', 'Destroy queue'); | ||
this._queue.destroy(); | ||
if (this._queue) { | ||
var d = Q.defer(); | ||
this._queue.destroy().addCallback(function () { | ||
this._logger.info('RabbitSubscriber', 'Destroy queue'); | ||
d.resolve(); | ||
}.bind(this)); | ||
return d.promise; | ||
} | ||
}; | ||
@@ -66,0 +72,0 @@ |
28732
13
616
178
6