mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-27 02:57:45 +00:00
Merge branch 'master' into sk-dockerize-tests
This commit is contained in:
commit
28fda02d2d
2 changed files with 24 additions and 11 deletions
|
@ -130,12 +130,15 @@ module.exports = RedisManager =
|
||||||
return callback(error) if error?
|
return callback(error) if error?
|
||||||
[lines, version, ops, project_id] = results
|
[lines, version, ops, project_id] = results
|
||||||
multi = rclient.multi()
|
multi = rclient.multi()
|
||||||
multi.set keys.docLines(doc_id:doc_id), lines
|
if lines?
|
||||||
multi.set keys.docVersion(doc_id:doc_id), version
|
multi.set keys.docLines(doc_id:doc_id), lines
|
||||||
|
if version?
|
||||||
|
multi.set keys.docVersion(doc_id:doc_id), version
|
||||||
multi.del keys.docOps(doc_id:doc_id)
|
multi.del keys.docOps(doc_id:doc_id)
|
||||||
if ops.length > 0
|
if ops.length > 0
|
||||||
multi.rpush keys.docOps(doc_id:doc_id), ops...
|
multi.rpush keys.docOps(doc_id:doc_id), ops...
|
||||||
multi.set keys.projectKey(doc_id:doc_id), project_id
|
if project_id?
|
||||||
|
multi.set keys.projectKey(doc_id:doc_id), project_id
|
||||||
multi.exec (error) ->
|
multi.exec (error) ->
|
||||||
return callback(error) if error?
|
return callback(error) if error?
|
||||||
return callback null, project_id
|
return callback null, project_id
|
||||||
|
@ -143,4 +146,7 @@ module.exports = RedisManager =
|
||||||
getAndSetProject: (project_id, callback = (error) ->) ->
|
getAndSetProject: (project_id, callback = (error) ->) ->
|
||||||
rclient.smembers keys.docsInProject(project_id: project_id), (error, doc_ids) ->
|
rclient.smembers keys.docsInProject(project_id: project_id), (error, doc_ids) ->
|
||||||
return callback(error) if error?
|
return callback(error) if error?
|
||||||
rclient.sadd keys.docsInProject(project_id: project_id), doc_ids..., callback
|
if doc_ids.length > 0
|
||||||
|
rclient.sadd keys.docsInProject(project_id: project_id), doc_ids..., callback
|
||||||
|
else
|
||||||
|
callback()
|
||||||
|
|
|
@ -2,6 +2,8 @@ RedisManager = require "./app/coffee/RedisManager"
|
||||||
UpdateManager = require "./app/coffee/UpdateManager"
|
UpdateManager = require "./app/coffee/UpdateManager"
|
||||||
LockManager = require "./app/coffee/LockManager"
|
LockManager = require "./app/coffee/LockManager"
|
||||||
|
|
||||||
|
async = require "async"
|
||||||
|
|
||||||
handleErrorInsideLock = (doc_id, lockValue, original_error, callback = (error) ->) ->
|
handleErrorInsideLock = (doc_id, lockValue, original_error, callback = (error) ->) ->
|
||||||
LockManager.releaseLock doc_id, lockValue, (lock_error) ->
|
LockManager.releaseLock doc_id, lockValue, (lock_error) ->
|
||||||
callback(original_error)
|
callback(original_error)
|
||||||
|
@ -17,13 +19,18 @@ migrateDoc = (doc_id, callback = (error) ->) ->
|
||||||
return callback(error) if error?
|
return callback(error) if error?
|
||||||
UpdateManager.continueProcessingUpdatesWithLock project_id, doc_id, callback
|
UpdateManager.continueProcessingUpdatesWithLock project_id, doc_id, callback
|
||||||
|
|
||||||
doc_id = process.argv[2]
|
doc_ids = process.argv.slice(2)
|
||||||
if !doc_id?
|
if doc_ids.length == 0
|
||||||
console.log "Usage: coffee migrate.coffee DOC_ID"
|
console.log "Usage: coffee migrate.coffee DOC_ID [DOC_ID ...]"
|
||||||
process.exit(1)
|
process.exit(1)
|
||||||
|
|
||||||
migrateDoc doc_id, (error) ->
|
jobs = []
|
||||||
|
for doc_id in doc_ids
|
||||||
|
do (doc_id) ->
|
||||||
|
jobs.push (cb) ->
|
||||||
|
console.log "MIGRATING #{doc_id}"
|
||||||
|
migrateDoc doc_id, cb
|
||||||
|
|
||||||
|
async.series jobs, (error) ->
|
||||||
throw error if error?
|
throw error if error?
|
||||||
setTimeout () ->
|
process.exit(0)
|
||||||
process.exit(0)
|
|
||||||
, 200
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue