Improve resiliency against slow api calls, rdio and brackets

This commit is contained in:
Jonathan Cremin 2014-12-05 13:44:42 +00:00
parent 2be3660765
commit f7b1fcd53f
3 changed files with 12 additions and 5 deletions

View file

@ -14,6 +14,7 @@ require("fs").readdirSync(path.join(__dirname, "..", "lib", "services")).forEach
}
});
module.exports = function(req, res) {
var serviceId = req.params.service;
var type = req.params.type;
@ -26,9 +27,10 @@ module.exports = function(req, res) {
}
services[serviceId].lookupId(itemId, type).then(function(item) {
for (var id in services) {
if (id != serviceId) {
promises.push(services[id].search(item));
promises.push(Q.timeout(services[id].search(item), 5000));
}
}
@ -37,6 +39,8 @@ module.exports = function(req, res) {
if (result.state == "fulfilled") {
return result.value;
}
}).filter(function(result) {
return result || false;
});
items.sort(function(a, b) {