Improved queued build

This commit is contained in:
Kasra Bigdeli
2019-08-03 15:05:50 -04:00
parent d9c313b47e
commit 13d6a6d30e
2 changed files with 14 additions and 4 deletions
@@ -1,11 +1,7 @@
import express = require('express')
import BaseApi = require('../../../../api/BaseApi')
import ApiStatusCodes = require('../../../../api/ApiStatusCodes')
import Logger = require('../../../../utils/Logger')
import multer = require('multer')
import fs = require('fs-extra')
import DataStore = require('../../../../datastore/DataStore')
import ServiceManager = require('../../../../user/ServiceManager')
import InjectionExtractor = require('../../../../injection/InjectionExtractor')
const TEMP_UPLOAD = 'temp_upload/'
+14
View File
@@ -397,6 +397,9 @@ class ServiceManager {
const dataStore = this.dataStore
return Promise.resolve()
.then(function() {
return self.ensureNotBuilding(appName)
})
.then(function() {
Logger.d('Check if service is running: ' + serviceName)
return dockerApi.isServiceRunningByName(serviceName)
@@ -579,6 +582,14 @@ class ServiceManager {
return requireFromString(preDeployFunction)
}
ensureNotBuilding(appName: string) {
if (this.activeBuilds[appName])
throw ApiStatusCodes.createError(
ApiStatusCodes.STATUS_ERROR_GENERIC,
`Build in-progress for ${appName}. Please wait`
)
}
updateAppDefinition(
appName: string,
description: string,
@@ -619,6 +630,9 @@ class ServiceManager {
}
return Promise.resolve()
.then(function() {
return self.ensureNotBuilding(appName)
})
.then(function() {
return dataStore.getAppsDataStore().getAppDefinition(appName)
})