1
0
Fork 0
mirror of https://github.com/overleaf/overleaf.git synced 2025-04-23 08:17:46 +00:00

WIP: auto-retry web requests

This commit is contained in:
Shane Kilkelly 2017-07-17 10:08:21 +01:00
parent 653f16e3e6
commit 0d46c3e2b3
3 changed files with 7 additions and 2 deletions
services/document-updater
app/coffee
package.json
test/unit/coffee/PersistenceManager

View file

@ -1,4 +1,4 @@
request = require "request"
request = require "requestretry"
Settings = require "settings-sharelatex"
Errors = require "./Errors"
Metrics = require "./Metrics"
@ -28,6 +28,7 @@ module.exports = PersistenceManager =
sendImmediately: true
jar: false
timeout: MAX_HTTP_REQUEST_LENGTH
maxAttempts: 2 # for requestretry
}, (error, res, body) ->
return callback(error) if error?
if res.statusCode >= 200 and res.statusCode < 300
@ -65,6 +66,7 @@ module.exports = PersistenceManager =
sendImmediately: true
jar: false
timeout: MAX_HTTP_REQUEST_LENGTH
maxAttempts: 2 # for requestretry
}, (error, res, body) ->
return callback(error) if error?
if res.statusCode >= 200 and res.statusCode < 300

View file

@ -16,6 +16,7 @@
"metrics-sharelatex": "git+https://github.com/sharelatex/metrics-sharelatex.git#v1.5.0",
"redis-sharelatex": "git+https://github.com/sharelatex/redis-sharelatex.git#v1.0.3",
"request": "2.25.0",
"requestretry": "^1.12.0",
"sandboxed-module": "~0.2.0",
"settings-sharelatex": "git+https://github.com/sharelatex/settings-sharelatex.git#v1.0.0",
"sinon": "~1.5.2",

View file

@ -8,7 +8,7 @@ Errors = require "../../../../app/js/Errors"
describe "PersistenceManager", ->
beforeEach ->
@PersistenceManager = SandboxedModule.require modulePath, requires:
"request": @request = sinon.stub()
"requestretry": @request = sinon.stub()
"settings-sharelatex": @Settings = {}
"./Metrics": @Metrics =
Timer: class Timer
@ -50,6 +50,7 @@ describe "PersistenceManager", ->
sendImmediately: true
jar: false
timeout: 5000
maxAttempts: 2
})
.should.equal true
@ -129,6 +130,7 @@ describe "PersistenceManager", ->
sendImmediately: true
jar: false
timeout: 5000
maxAttempts: 2
})
.should.equal true