Class AbstractCodePoolExecutorService
java.lang.Object
com.alibaba.cloud.ai.service.code.impl.AbstractCodePoolExecutorService
- All Implemented Interfaces:
CodePoolExecutorService
- Direct Known Subclasses:
DockerCodePoolExecutorService
public abstract class AbstractCodePoolExecutorService
extends Object
implements CodePoolExecutorService
运行Python任务的容器池
- Since:
- 2025/7/12
- Author:
- vlsmb
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.alibaba.cloud.ai.service.code.CodePoolExecutorService
CodePoolExecutorService.State, CodePoolExecutorService.TaskRequest, CodePoolExecutorService.TaskResponse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ExecutorServiceprotected final ConcurrentHashMap<String,CodePoolExecutorService.State> protected final AtomicIntegerprotected final AtomicIntegerprotected final CodeExecutorPropertiesprotected final ArrayBlockingQueue<String>protected final ArrayBlockingQueue<String>protected final ArrayBlockingQueue<FutureTask<CodePoolExecutorService.TaskResponse>>protected final ConcurrentHashMap<String,Future<?>> protected final ConcurrentHashMap<String,CodePoolExecutorService.State> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidclearTempDir(Path tempDir) 删除临时目录protected abstract Stringprotected voidcreateWritableFile(Path tempDir, String fileName) 创建可写的临时文件protected abstract CodePoolExecutorService.TaskResponseexecTaskInContainer(CodePoolExecutorService.TaskRequest request, String containerId) protected String生成唯一的容器名称protected abstract voidremoveContainer(String containerId) protected voidprotected abstract voidstopContainer(String containerId)
-
Field Details
-
coreContainerState
-
tempContainerState
-
tempContainerRemoveFuture
-
taskQueue
-
readyCoreContainer
-
readyTempContainer
-
currentCoreContainerSize
-
currentTempContainerSize
-
consumerThreadPool
-
properties
-
-
Constructor Details
-
AbstractCodePoolExecutorService
-
-
Method Details
-
createNewContainer
- Throws:
Exception
-
execTaskInContainer
protected abstract CodePoolExecutorService.TaskResponse execTaskInContainer(CodePoolExecutorService.TaskRequest request, String containerId) throws Exception - Throws:
Exception
-
stopContainer
- Throws:
Exception
-
removeContainer
- Throws:
Exception
-
shutdownPool
- Throws:
Exception
-
runTask
- Specified by:
runTaskin interfaceCodePoolExecutorService
-
clearTempDir
删除临时目录 -
createWritableFile
创建可写的临时文件- Parameters:
tempDir- 临时目录fileName- 文件名- Throws:
IOException- IO异常
-
generateContainerName
生成唯一的容器名称
-