Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,13 @@ class ApplicationEventListener(
val applicationList = queryApplicationPort.findByIds(event.applicationIdList)

applicationList.forEach { application ->
containerPort.execute {
deleteContainer(application)
deleteImage(application)
}

CoroutineScope(Dispatchers.IO).launch {
containerPort.execute {
deleteContainer(application)
deleteImage(application)
}

refreshApplicationService.refresh(application)

val updatedApplication = application.copy(status = ApplicationStatus.STOPPED)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ package com.dcd.server.core.domain.application.service
import com.dcd.server.core.domain.application.model.Application

interface DeleteApplicationDirectoryService {
suspend fun deleteApplicationDirectory(application: Application)
fun deleteApplicationDirectory(application: Application)
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ package com.dcd.server.core.domain.application.service
import com.dcd.server.core.domain.application.model.Application

interface RefreshApplicationService {
suspend fun refresh(application: Application)
fun refresh(application: Application)
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import com.dcd.server.core.domain.application.model.Application
import com.dcd.server.core.domain.application.model.enums.ApplicationStatus
import com.dcd.server.core.domain.application.service.DeleteApplicationDirectoryService
import com.dcd.server.core.domain.application.util.FailureCase
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.springframework.context.ApplicationEventPublisher
import org.springframework.stereotype.Service
import java.nio.file.Paths
Expand All @@ -18,14 +16,12 @@ class DeleteApplicationDirectoryServiceImpl(
private val fileOperationPort: FileOperationPort,
private val eventPublisher: ApplicationEventPublisher
) : DeleteApplicationDirectoryService {
override suspend fun deleteApplicationDirectory(application: Application) {
withContext(Dispatchers.IO) {
try {
fileOperationPort.deleteDirectory(Paths.get(application.directoryName))
} catch (e: FileOperationException) {
eventPublisher.publishEvent(ChangeApplicationStatusEvent(ApplicationStatus.FAILURE, application, FailureCase.DELETE_DIRECTORY_FAILURE))
throw e
}
override fun deleteApplicationDirectory(application: Application) {
try {
fileOperationPort.deleteDirectory(Paths.get(application.directoryName))
} catch (e: FileOperationException) {
eventPublisher.publishEvent(ChangeApplicationStatusEvent(ApplicationStatus.FAILURE, application, FailureCase.DELETE_DIRECTORY_FAILURE))
throw e
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class RefreshApplicationServiceImpl(
private val queryVolumePort: QueryVolumePort
) : RefreshApplicationService {
@Lock("#application.id", waitTime = 1000 * 10, leaseTime = 1000 * 60 * 30)
override suspend fun refresh(application: Application) {
override fun refresh(application: Application) {
val applicationType = application.applicationType
when(applicationType) {
ApplicationType.SPRING_BOOT, ApplicationType.NEST_JS, ApplicationType.GIN -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ package com.dcd.server.core.domain.application.spi
import com.dcd.server.core.domain.application.model.Application

interface ApplicationImageFilePort {
suspend fun createImageFile(application: Application)
fun createImageFile(application: Application)
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ import com.dcd.server.core.domain.application.spi.QueryApplicationPort
import com.dcd.server.core.domain.application.util.FailureCase
import com.dcd.server.core.domain.env.spi.QueryApplicationEnvPort
import com.dcd.server.infrastructure.domain.application.file.ImageFileContent
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.springframework.context.ApplicationEventPublisher
import org.springframework.stereotype.Component
import java.io.File
Expand All @@ -29,13 +27,7 @@ class ApplicationImageFileAdapter(
private val eventPublisher: ApplicationEventPublisher,
private val encryptPort: EncryptPort
) : ApplicationImageFilePort {
override suspend fun createImageFile(application: Application) {
withContext(Dispatchers.IO) {
createFile(application)
}
}

private fun createFile(application: Application) {
override fun createImageFile(application: Application) {
val version = application.version
val applicationPath = Paths.get(application.directoryName)
val applicationEnv =
Expand Down
Loading