mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-11-26 00:58:14 -05:00
Merge pull request #3217 from LLK/hotfix/fastly-concurrency
[Develop] Add concurrency limits to async Fastly API requests
This commit is contained in:
commit
fecf3a81d7
1 changed files with 8 additions and 6 deletions
|
@ -8,6 +8,8 @@ var routeJson = require('../src/routes.json');
|
|||
const FASTLY_SERVICE_ID = process.env.FASTLY_SERVICE_ID || '';
|
||||
const S3_BUCKET_NAME = process.env.S3_BUCKET_NAME || '';
|
||||
|
||||
const FASTLY_CONCURRENCY = process.env.FASTLY_CONCURRENCY || 1;
|
||||
|
||||
var fastly = require('./lib/fastly-extended')(process.env.FASTLY_API_KEY, FASTLY_SERVICE_ID);
|
||||
|
||||
var extraAppRoutes = [
|
||||
|
@ -92,7 +94,7 @@ async.auto({
|
|||
}],
|
||||
appRouteRequestConditions: ['version', function (results, cb) {
|
||||
var conditions = {};
|
||||
async.forEachOf(routes, function (route, id, cb2) {
|
||||
async.eachOfLimit(routes, FASTLY_CONCURRENCY, function (route, id, cb2) {
|
||||
var condition = {
|
||||
name: fastlyConfig.getConditionNameForRoute(route, 'request'),
|
||||
statement: 'req.url ~ "' + route.pattern + '"',
|
||||
|
@ -112,7 +114,7 @@ async.auto({
|
|||
}],
|
||||
appRouteHeaders: ['version', 'appRouteRequestConditions', function (results, cb) {
|
||||
var headers = {};
|
||||
async.forEachOf(routes, function (route, id, cb2) {
|
||||
async.eachOfLimit(routes, FASTLY_CONCURRENCY, function (route, id, cb2) {
|
||||
if (route.redirect) {
|
||||
async.auto({
|
||||
responseCondition: function (cb3) {
|
||||
|
@ -145,7 +147,7 @@ async.auto({
|
|||
};
|
||||
fastly.setFastlyHeader(results.version, header, cb3);
|
||||
}]
|
||||
}, function (err, redirectResults) {
|
||||
}, FASTLY_CONCURRENCY, function (err, redirectResults) {
|
||||
if (err) return cb2(err);
|
||||
headers[id] = redirectResults.redirectHeader;
|
||||
cb2(null, redirectResults);
|
||||
|
@ -213,7 +215,7 @@ async.auto({
|
|||
};
|
||||
fastly.setFastlyHeader(results.version, header, cb2);
|
||||
}]
|
||||
}, function (err, redirectResults) {
|
||||
}, FASTLY_CONCURRENCY, function (err, redirectResults) {
|
||||
if (err) return cb(err);
|
||||
cb(null, redirectResults);
|
||||
});
|
||||
|
@ -259,12 +261,12 @@ async.auto({
|
|||
};
|
||||
fastly.setFastlyHeader(results.version, header, cb2);
|
||||
}]
|
||||
}, function (err, redirectResults) {
|
||||
}, FASTLY_CONCURRENCY, function (err, redirectResults) {
|
||||
if (err) return cb(err);
|
||||
cb(null, redirectResults);
|
||||
});
|
||||
}]
|
||||
}, function (err, results) {
|
||||
}, FASTLY_CONCURRENCY, function (err, results) {
|
||||
if (err) throw new Error(err);
|
||||
if (process.env.FASTLY_ACTIVATE_CHANGES) {
|
||||
fastly.activateVersion(results.version, function (e, resp) {
|
||||
|
|
Loading…
Reference in a new issue