Documentation
¶
Index ¶
- func WithSkipCleanOutput(ctx context.Context) context.Context
- type FileSystemNodeRuntimePreparer
- func (p *FileSystemNodeRuntimePreparer) Prepare(ctx context.Context, node *types.AnalysisNode) error
- func (p *FileSystemNodeRuntimePreparer) WriteCommand(node *types.AnalysisNode, scriptType, scriptPath, scriptWorkspacePath string, ...) error
- func (p *FileSystemNodeRuntimePreparer) WriteEnvFile(ctx context.Context, envFilePath string, node *types.AnalysisNode, ...) error
- type JupyterScriptBuilder
- type NodeRuntimePreparer
- type PythonScriptBuilder
- type QmdScriptBuilder
- type RScriptBuilder
- type RunScriptBuilder
- type RunScriptBuilderRegistry
- type ShellScriptBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type FileSystemNodeRuntimePreparer ¶
type FileSystemNodeRuntimePreparer struct {
// contains filtered or unexported fields
}
func NewFileSystemNodeRuntimePreparer ¶ added in v0.1.4
func NewFileSystemNodeRuntimePreparer( analysisRepo interfaces.AnalysisRepository, workflowRepo interfaces.WorkflowRepository, projectRepo interfaces.ProjectRepository, workflowService interfaces.WorkflowService, cfg *config.Config, builders *RunScriptBuilderRegistry, ) *FileSystemNodeRuntimePreparer
func (*FileSystemNodeRuntimePreparer) Prepare ¶
func (p *FileSystemNodeRuntimePreparer) Prepare(ctx context.Context, node *types.AnalysisNode) error
func (*FileSystemNodeRuntimePreparer) WriteCommand ¶
func (p *FileSystemNodeRuntimePreparer) WriteCommand(node *types.AnalysisNode, scriptType, scriptPath, scriptWorkspacePath string, params map[string]any) error
func (*FileSystemNodeRuntimePreparer) WriteEnvFile ¶ added in v0.1.4
func (p *FileSystemNodeRuntimePreparer) WriteEnvFile(ctx context.Context, envFilePath string, node *types.AnalysisNode, scriptDir string) error
type JupyterScriptBuilder ¶
type JupyterScriptBuilder struct{}
func (JupyterScriptBuilder) Build ¶
func (JupyterScriptBuilder) Build(node *types.AnalysisNode, scriptPath, scriptWorkspacePath string, _ string, _ map[string]any) (string, error)
func (JupyterScriptBuilder) Name ¶ added in v0.1.4
func (JupyterScriptBuilder) Name() string
type NodeRuntimePreparer ¶
type NodeRuntimePreparer interface {
Prepare(ctx context.Context, node *types.AnalysisNode) error
}
type PythonScriptBuilder ¶
type PythonScriptBuilder struct{}
func (PythonScriptBuilder) Build ¶
func (PythonScriptBuilder) Build(node *types.AnalysisNode, scriptPath, scriptWorkspacePath string, _ string, _ map[string]any) (string, error)
func (PythonScriptBuilder) Name ¶ added in v0.1.4
func (PythonScriptBuilder) Name() string
type QmdScriptBuilder ¶
type QmdScriptBuilder struct{}
func (QmdScriptBuilder) Build ¶
func (QmdScriptBuilder) Build(node *types.AnalysisNode, scriptPath, scriptWorkspacePath string, _ string, _ map[string]any) (string, error)
func (QmdScriptBuilder) Name ¶ added in v0.1.4
func (QmdScriptBuilder) Name() string
type RScriptBuilder ¶
type RScriptBuilder struct{}
func (RScriptBuilder) Build ¶
func (RScriptBuilder) Build(node *types.AnalysisNode, scriptPath, scriptWorkspacePath string, _ string, _ map[string]any) (string, error)
func (RScriptBuilder) Name ¶ added in v0.1.4
func (RScriptBuilder) Name() string
type RunScriptBuilder ¶
type RunScriptBuilder interface {
// Name 返回构建器唯一标识(小写脚本类型,如 r / python / shell / qmd / jupyter)。
Name() string
// Build 根据节点、脚本路径、脚本内容与参数生成 run.sh 内容。
Build(node *types.AnalysisNode, scriptPath string, scriptWorkspacePath string, scriptContent string, params map[string]any) (string, error)
}
RunScriptBuilder 是「运行脚本构建器」接口:根据脚本类型(r / python / shell / qmd / jupyter)生成节点实际执行的 run.sh 内容。
func DefaultRunScriptBuilders ¶ added in v0.1.4
func DefaultRunScriptBuilders() []RunScriptBuilder
DefaultRunScriptBuilders 返回框架内置的 RunScriptBuilder 列表。
type RunScriptBuilderRegistry ¶ added in v0.1.4
type RunScriptBuilderRegistry struct {
// contains filtered or unexported fields
}
RunScriptBuilderRegistry 负责注册与解析 RunScriptBuilder。 采用与 agent.Registry 一致的注册表模式,由容器启动时注册内置构建器, 运行时按脚本类型解析;未匹配到对应类型时回退到 "shell"。
func NewRunScriptBuilderRegistry ¶ added in v0.1.4
func NewRunScriptBuilderRegistry(builders ...RunScriptBuilder) *RunScriptBuilderRegistry
NewRunScriptBuilderRegistry 创建注册表并注册传入的构建器。
func (*RunScriptBuilderRegistry) Has ¶ added in v0.1.4
func (r *RunScriptBuilderRegistry) Has(scriptType string) bool
Has 报告指定脚本类型是否已注册。
func (*RunScriptBuilderRegistry) Names ¶ added in v0.1.4
func (r *RunScriptBuilderRegistry) Names() []string
Names 返回已注册的构建器名称列表(升序,便于调试与校验)。
func (*RunScriptBuilderRegistry) Register ¶ added in v0.1.4
func (r *RunScriptBuilderRegistry) Register(b RunScriptBuilder)
Register 注册构建器;同名覆盖。
func (*RunScriptBuilderRegistry) Resolve ¶ added in v0.1.4
func (r *RunScriptBuilderRegistry) Resolve(scriptType string) RunScriptBuilder
Resolve 按脚本类型解析构建器;未匹配到对应类型时回退到 "shell"。 返回 nil 表示 "shell" 也未注册。
type ShellScriptBuilder ¶
type ShellScriptBuilder struct{}
func (ShellScriptBuilder) Build ¶
func (ShellScriptBuilder) Build(_ *types.AnalysisNode, scriptPath, scriptWorkspacePath string, scriptContent string, params map[string]any) (string, error)
func (ShellScriptBuilder) Name ¶ added in v0.1.4
func (ShellScriptBuilder) Name() string
Click to show internal directories.
Click to hide internal directories.