|
@@ -159,8 +159,22 @@ module.exports = UpdatesManager =
|
|
|
return callback(error) if error?
|
|
return callback(error) if error?
|
|
|
failedProjects = (x.project_id for x in result when x.failed)
|
|
failedProjects = (x.project_id for x in result when x.failed)
|
|
|
succeededProjects = (x.project_id for x in result when not x.failed)
|
|
succeededProjects = (x.project_id for x in result when not x.failed)
|
|
|
|
|
+ RedisManager.getAllDocIdsWithHistoryOps (error, doc_ids) ->
|
|
|
callback(null, {failed: failedProjects, succeeded: succeededProjects})
|
|
callback(null, {failed: failedProjects, succeeded: succeededProjects})
|
|
|
|
|
|
|
|
|
|
+ getDanglingUpdates: (callback = (error, doc_ids) ->) ->
|
|
|
|
|
+ RedisManager.getAllDocIdsWithHistoryOps (error, all_doc_ids) ->
|
|
|
|
|
+ return callback(error) if error?
|
|
|
|
|
+ RedisManager.getProjectIdsWithHistoryOps (error, all_project_ids) ->
|
|
|
|
|
+ return callback(error) if error?
|
|
|
|
|
+ # function to get doc_ids for each project
|
|
|
|
|
+ task = (cb) -> async.concatSeries all_project_ids, RedisManager.getDocIdsWithHistoryOps, cb
|
|
|
|
|
+ # find the dangling doc ids
|
|
|
|
|
+ task (error, project_doc_ids) ->
|
|
|
|
|
+ dangling_doc_ids = _.difference(all_doc_ids, project_doc_ids)
|
|
|
|
|
+ logger.log {all_doc_ids: all_doc_ids, all_project_ids: all_project_ids, project_doc_ids: project_doc_ids, dangling_doc_ids: dangling_doc_ids}, "checking for dangling doc ids"
|
|
|
|
|
+ callback(null, dangling_doc_ids)
|
|
|
|
|
+
|
|
|
getDocUpdates: (project_id, doc_id, options = {}, callback = (error, updates) ->) ->
|
|
getDocUpdates: (project_id, doc_id, options = {}, callback = (error, updates) ->) ->
|
|
|
UpdatesManager.processUncompressedUpdatesWithLock project_id, doc_id, (error) ->
|
|
UpdatesManager.processUncompressedUpdatesWithLock project_id, doc_id, (error) ->
|
|
|
return callback(error) if error?
|
|
return callback(error) if error?
|