1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | var define = require('./define');
|
8 | var utils = require('./utils');
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 | function CloudsMonitor (options) {
|
18 | options = options || {};
|
19 |
|
20 |
|
21 | options.type = 'monitor';
|
22 | CloudsMonitor.super_.call(this, options);
|
23 |
|
24 |
|
25 | this._setHandler('message.c', this._handleCallService);
|
26 | }
|
27 |
|
28 | utils.inheritsBase(CloudsMonitor);
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 | CloudsMonitor.prototype.status = function (callback) {
|
36 | var me = this;
|
37 | var key = me._key('S', '*');
|
38 | me._connection.keys(key, function (err, list) {
|
39 | if (err) return callback(err);
|
40 | var servers = {};
|
41 | var methods = {};
|
42 | list.forEach(function (k) {
|
43 | var b = k.split(':').slice(1);
|
44 | var m = b[0];
|
45 | var i = b[1];
|
46 | if (!servers[i]) servers[i] = [];
|
47 | servers[i].push(m);
|
48 | if (!methods[m]) methods[m] = [];
|
49 | methods[m].push(i);
|
50 | });
|
51 | callback(null, {
|
52 | servers: servers,
|
53 | methods: methods
|
54 | });
|
55 | });
|
56 | };
|
57 |
|
58 |
|
59 |
|
60 | module.exports = CloudsMonitor;
|