fix incremental request
This commit is contained in:
@@ -16,7 +16,7 @@ module.exports = CompileController =
|
|||||||
ProjectPersistenceManager.markProjectAsJustAccessed request.project_id, (error) ->
|
ProjectPersistenceManager.markProjectAsJustAccessed request.project_id, (error) ->
|
||||||
return next(error) if error?
|
return next(error) if error?
|
||||||
CompileManager.doCompile request, (error, outputFiles = []) ->
|
CompileManager.doCompile request, (error, outputFiles = []) ->
|
||||||
if error instanceOf Errors.FilesOutOfSyncError
|
if error instanceof Errors.FilesOutOfSyncError
|
||||||
code = 409 # Http 409 Conflict
|
code = 409 # Http 409 Conflict
|
||||||
status = "retry"
|
status = "retry"
|
||||||
else if error?.terminated
|
else if error?.terminated
|
||||||
|
|||||||
@@ -32,7 +32,10 @@ module.exports = CompileManager =
|
|||||||
timer = new Metrics.Timer("write-to-disk")
|
timer = new Metrics.Timer("write-to-disk")
|
||||||
logger.log project_id: request.project_id, user_id: request.user_id, "syncing resources to disk"
|
logger.log project_id: request.project_id, user_id: request.user_id, "syncing resources to disk"
|
||||||
ResourceWriter.syncResourcesToDisk request, compileDir, (error) ->
|
ResourceWriter.syncResourcesToDisk request, compileDir, (error) ->
|
||||||
if error?
|
if error? and error instanceof Errors.FilesOutOfSyncError
|
||||||
|
logger.warn project_id: request.project_id, user_id: request.user_id, "files out of sync, please retry"
|
||||||
|
return callback(error)
|
||||||
|
else if error?
|
||||||
logger.err err:error, project_id: request.project_id, user_id: request.user_id, "error writing resources to disk"
|
logger.err err:error, project_id: request.project_id, user_id: request.user_id, "error writing resources to disk"
|
||||||
return callback(error)
|
return callback(error)
|
||||||
logger.log project_id: request.project_id, user_id: request.user_id, time_taken: Date.now() - timer.start, "written files to disk"
|
logger.log project_id: request.project_id, user_id: request.user_id, time_taken: Date.now() - timer.start, "written files to disk"
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ parallelFileDownloads = settings.parallelFileDownloads or 1
|
|||||||
module.exports = ResourceWriter =
|
module.exports = ResourceWriter =
|
||||||
|
|
||||||
syncResourcesToDisk: (request, basePath, callback = (error) ->) ->
|
syncResourcesToDisk: (request, basePath, callback = (error) ->) ->
|
||||||
if request.syncType? is "incremental"
|
if request.syncType is "incremental"
|
||||||
ResourceWriter.checkSyncState request.syncState, basePath, (error, ok) ->
|
ResourceWriter.checkSyncState request.syncState, basePath, (error, syncStateOk) ->
|
||||||
logger.log syncState: request.syncState, result:ok, "checked state on incremental request"
|
logger.log syncState: request.syncState, result:syncStateOk, "checked state on incremental request"
|
||||||
return callback new Errors.FilesOutOfSyncError("invalid state for incremental update") if not ok
|
return callback new Errors.FilesOutOfSyncError("invalid state for incremental update") if not syncStateOk
|
||||||
ResourceWriter.saveIncrementalResourcesToDisk request.project_id, request.resources, basePath, callback
|
ResourceWriter.saveIncrementalResourcesToDisk request.project_id, request.resources, basePath, callback
|
||||||
else
|
else
|
||||||
@saveAllResourcesToDisk request.project_id, request.resources, basePath, (error) ->
|
@saveAllResourcesToDisk request.project_id, request.resources, basePath, (error) ->
|
||||||
@@ -30,11 +30,8 @@ module.exports = ResourceWriter =
|
|||||||
|
|
||||||
checkSyncState: (state, basePath, callback) ->
|
checkSyncState: (state, basePath, callback) ->
|
||||||
fs.readFile Path.join(basePath, ".resource-sync-state"), {encoding:'ascii'}, (err, oldState) ->
|
fs.readFile Path.join(basePath, ".resource-sync-state"), {encoding:'ascii'}, (err, oldState) ->
|
||||||
logger.log state:state, oldState: oldState, basePath:basePath, err:err, "checking sync state"
|
# ignore errors, return true if state matches, false otherwise (including errors)
|
||||||
if state is oldState
|
return callback(null, if state is oldState then true else false)
|
||||||
return callback(null, true)
|
|
||||||
else
|
|
||||||
return callback(null, false)
|
|
||||||
|
|
||||||
saveIncrementalResourcesToDisk: (project_id, resources, basePath, callback = (error) ->) ->
|
saveIncrementalResourcesToDisk: (project_id, resources, basePath, callback = (error) ->) ->
|
||||||
@_createDirectory basePath, (error) =>
|
@_createDirectory basePath, (error) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user