diff --git a/services/real-time/app/coffee/DocumentUpdaterManager.coffee b/services/real-time/app/coffee/DocumentUpdaterManager.coffee index 9f516c2f2d..d5df28ed49 100644 --- a/services/real-time/app/coffee/DocumentUpdaterManager.coffee +++ b/services/real-time/app/coffee/DocumentUpdaterManager.coffee @@ -36,9 +36,11 @@ module.exports = DocumentUpdaterManager = callback err flushProjectToMongoAndDelete: (project_id, callback = ()->) -> + # this method is called when the last connected user leaves the project logger.log project_id:project_id, "deleting project from document updater" timer = new metrics.Timer("delete.mongo.project") - url = "#{settings.apis.documentupdater.url}/project/#{project_id}" + # flush the project in the background when all users have left + url = "#{settings.apis.documentupdater.url}/project/#{project_id}?background=true" request.del url, (err, res, body)-> timer.done() if err? diff --git a/services/real-time/test/unit/coffee/DocumentUpdaterManagerTests.coffee b/services/real-time/test/unit/coffee/DocumentUpdaterManagerTests.coffee index 4f2c5d9b51..e6d82f24ff 100644 --- a/services/real-time/test/unit/coffee/DocumentUpdaterManagerTests.coffee +++ b/services/real-time/test/unit/coffee/DocumentUpdaterManagerTests.coffee @@ -93,7 +93,7 @@ describe 'DocumentUpdaterManager', -> @DocumentUpdaterManager.flushProjectToMongoAndDelete @project_id, @callback it 'should delete the project from the document updater', -> - url = "#{@settings.apis.documentupdater.url}/project/#{@project_id}" + url = "#{@settings.apis.documentupdater.url}/project/#{@project_id}?background=true" @request.del.calledWith(url).should.equal true it "should call the callback with no error", ->