Преглед изворни кода

Merge pull request #1843 from overleaf/ta-limit-affiliation-rate

Limit the Number of Affiliations Created Simultaneously

GitOrigin-RevId: 242d3f3a2859eb2114f43091e7ca52534b282396
Timothée Alby пре 7 година
родитељ
комит
4583c25b1b
1 измењених фајлова са 4 додато и 2 уклоњено
  1. 4 2
      services/web/app/src/Features/Institutions/InstitutionsController.js

+ 4 - 2
services/web/app/src/Features/Institutions/InstitutionsController.js

@@ -17,6 +17,7 @@ const UserGetter = require('../User/UserGetter')
 const { addAffiliation } = require('../Institutions/InstitutionsAPI')
 const FeaturesUpdater = require('../Subscription/FeaturesUpdater')
 const async = require('async')
+const ASYNC_AFFILIATIONS_LIMIT = 10
 
 module.exports = InstitutionsController = {
   confirmDomain(req, res, next) {
@@ -48,8 +49,9 @@ var affiliateUsers = function(hostname, callback) {
         return callback(error)
       }
 
-      return async.map(
+      return async.mapLimit(
         users,
+        ASYNC_AFFILIATIONS_LIMIT,
         (user, innerCallback) =>
           affiliateUserByReversedHostname(
             user,
@@ -70,7 +72,7 @@ var affiliateUserByReversedHostname = function(
   const matchingEmails = user.emails.filter(
     email => email.reversedHostname === reversedHostname
   )
-  return async.map(
+  return async.mapSeries(
     matchingEmails,
     (email, innerCallback) =>
       addAffiliation(