Exemplo n.º 1
0
        private void TryCleanupContainerFolderScheduledForRemoval(ContainerFolderScheduledForRemoval containerScheduledForRemoval)
        {
            if (containerScheduledForRemoval.IsProcessingWaitTimeExpired(this.containerEnvironment.MaxContainerLogsProcessingWaitTime) &&
                this.TryRemovingContainerAppInstanceAndLogFolder(containerScheduledForRemoval))
            {
                ContainerFolderScheduledForRemoval unusedOutParameter;

                if (this.containersFoldersScheduledForRemoval.TryRemove(
                        containerScheduledForRemoval.ContainerLogFullPath,
                        out unusedOutParameter))
                {
                    Utility.TraceSource.WriteInfo(
                        TraceType,
                        "Successfully removed container traces folder: {0},  and AppInstance : {1}",
                        containerScheduledForRemoval.ContainerLogFullPath,
                        ContainerEnvironment.GetAppInstanceIdFromContainerFolderFullPath(containerScheduledForRemoval.ContainerLogFullPath));
                }
                else
                {
                    Utility.TraceSource.WriteInfo(
                        TraceType,
                        "Failed to removed container traces folder from ContainerFolderScheduledForRemoval list. Container folder path : {0}",
                        containerScheduledForRemoval.ContainerLogFullPath);
                }
            }
        }
Exemplo n.º 2
0
        private bool TryRemovingContainerAppInstanceAndLogFolder(ContainerFolderScheduledForRemoval deletedContainer)
        {
            try
            {
                lock (this.appInstanceManagerLock)
                {
                    this.appInstanceManager.DeleteApplicationInstance(ContainerEnvironment.GetAppInstanceIdFromContainerFolderFullPath(deletedContainer.ContainerLogFullPath));
                }
            }
            catch (Exception e)
            {
                Utility.TraceSource.WriteInfo(TraceType, "Failed to remove appInstance with exception: {0}", e);
            }

            return(this.TryRemoveContainerFolder(deletedContainer.ContainerLogFullPath));
        }