summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cluster-geo/cluster-geo/cluster-geo.js8
-rw-r--r--tests/http/agent.js15
-rw-r--r--tests/http/server.js18
3 files changed, 25 insertions, 16 deletions
diff --git a/cluster-geo/cluster-geo/cluster-geo.js b/cluster-geo/cluster-geo/cluster-geo.js
index 44af8492..0dea22f2 100644
--- a/cluster-geo/cluster-geo/cluster-geo.js
+++ b/cluster-geo/cluster-geo/cluster-geo.js
@@ -5,8 +5,14 @@
//
// GeoIP cache TTL in ms
-var CACHE_TTL = (60 * 60 * 24 * 60 * 1000); // 60 days
+var CACHE_TTL = (60 * 60 * 24 * 120 * 1000); // 120 days
+// Globally increase event emitter maximum listeners
+var EventEmitter = require('events');
+EventEmitter.prototype._maxListeners = 1000;
+process.setMaxListeners(1000);
+
+// Load config
var config = require(__dirname + '/config.js');
if (!config.maxmind) {
diff --git a/tests/http/agent.js b/tests/http/agent.js
index 0595ada4..9ab2e019 100644
--- a/tests/http/agent.js
+++ b/tests/http/agent.js
@@ -97,7 +97,7 @@ function agentIdToIp(agentId)
};
var lastTestResult = null;
-var allOtherAgents = [];
+var allOtherAgents = {};
function doTest()
{
@@ -114,16 +114,19 @@ function doTest()
if (body) {
try {
var peers = JSON.parse(body);
- if (Array.isArray(peers))
- allOtherAgents = allOtherAgents.concat(peers);
+ if (Array.isArray(peers)) {
+ for(var xx=0;xx<peers.length;++xx)
+ allOtherAgents[peers[xx]] = true;
+ }
} catch (e) {}
}
- if (allOtherAgents.length > 1) {
+ var agents = Object.keys(allOtherAgents);
+ if (agents.length > 1) {
- var target = allOtherAgents[Math.floor(Math.random() * allOtherAgents.length)];
+ var target = agents[Math.floor(Math.random() * agents.length)];
while (target === thisAgentId)
- target = allOtherAgents[Math.floor(Math.random() * allOtherAgents.length)];
+ target = agents[Math.floor(Math.random() * agents.length)];
var testRequest = null;
var timeoutId = null;
diff --git a/tests/http/server.js b/tests/http/server.js
index 681f1069..629784da 100644
--- a/tests/http/server.js
+++ b/tests/http/server.js
@@ -34,16 +34,16 @@ app.post('/:agentId',function(req,res) {
} catch (e) {}
}
- var thisUpdate = null;
- if (!(agentId in knownAgents)) {
- thisUpdate = Object.keys(knownAgents);
- for(var id in knownAgents)
- knownAgents[id].push(agentId);
- knownAgents[agentId] = [];
- } else {
- thisUpdate = knownAgents[agentId];
- knownAgents[agentId] = [];
+ knownAgents[agentId] = true;
+ var thisUpdate = [];
+ var agents = Object.keys(knownAgents);
+ if (agents.length < 100)
+ thisUpdate = agents;
+ else {
+ for(var xx=0;xx<100;++xx)
+ thisUpdate.push(agents[Math.floor(Math.random() * agents.length)]);
}
+
return res.status(200).send(JSON.stringify(thisUpdate));
});